プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
探検
プログラミングのお題スレ Part19
■ このスレッドは過去ログ倉庫に格納されています
2020/11/30(月) 00:04:05.21ID:TF2Czp0y
359デフォルトの名無しさん
2021/03/02(火) 22:32:43.53ID:zfPXLdcN >>358
ガウス記号しらんのか?
ガウス記号しらんのか?
3619
2021/03/02(火) 22:41:29.98ID:ZQFUTTJw >>359
ガウスの記号はいつ習うんですか? - 習いません。設問の中で必ず定義が示されて... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1464989549
だそうだ。いつごろから使われるようになった記号なんだろうね。
ガウスの記号はいつ習うんですか? - 習いません。設問の中で必ず定義が示されて... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1464989549
だそうだ。いつごろから使われるようになった記号なんだろうね。
362デフォルトの名無しさん
2021/03/02(火) 22:42:00.55ID:uJxPOgJJ 括弧をガウス記号の意味で使う場合、ガウス記号であることは明示した方が良いよ
363デフォルトの名無しさん
2021/03/02(火) 22:42:46.99ID:zfPXLdcN 入試でバシバシでてくるがな
364デフォルトの名無しさん
2021/03/02(火) 22:43:25.13ID:zfPXLdcN あーperlおじさんこの前数学問題に発狂してたな
触れないどこ
触れないどこ
3669
2021/03/02(火) 22:49:37.83ID:ZQFUTTJw 数学は嫌いじゃないんだよね。むしろ好きな方(得意かどうかは別)
なにがいやだつって、人に分からせるつもりがないような書き方して
数学が分からないんだと、と他人を馬鹿にしたような態度の傲慢さがいやなんだよね
なにがいやだつって、人に分からせるつもりがないような書き方して
数学が分からないんだと、と他人を馬鹿にしたような態度の傲慢さがいやなんだよね
367デフォルトの名無しさん
2021/03/03(水) 00:43:33.15ID:NwFhEU/N ありゃ
ガウス記号通じませんでしたか
失礼しました
やはりプログラム板ならfloorの方が良かったのかな?
まぁテーマとしては
1)大きい自然数を扱う
2)そのルートをとる
ですね
1)は最近流行りのプログラミング言語はほとんどサポートしてるので問題ないでしょう
ルートはどうなんでしよう?
私はHaskellerでHaskellは大きさに制限なしのInteger型はあるんですけどsqrtはDouble型のものしか用意されてなくてsqrtは自前実装させられました
その実装の仕方も色々あるようですので解答お待ちしてます
ガウス記号通じませんでしたか
失礼しました
やはりプログラム板ならfloorの方が良かったのかな?
まぁテーマとしては
1)大きい自然数を扱う
2)そのルートをとる
ですね
1)は最近流行りのプログラミング言語はほとんどサポートしてるので問題ないでしょう
ルートはどうなんでしよう?
私はHaskellerでHaskellは大きさに制限なしのInteger型はあるんですけどsqrtはDouble型のものしか用意されてなくてsqrtは自前実装させられました
その実装の仕方も色々あるようですので解答お待ちしてます
368デフォルトの名無しさん
2021/03/03(水) 02:18:06.97ID:sH3hVaJt >>355 Perl
https://ideone.com/93109J
#!/usr/bin/perl
use Math::BigInt;
$b=Math::BigInt->new(10)->bpow(400);
$l=Math::BigInt->new(2501)->bmul($b)->bmul($b)->bsqrt()->badd(Math::BigInt->new(50)->bmul($b));
$a=Math::BigInt->new(1);
for $i ( 0 .. 100 ) {
printf "%3d: %2d\n", $i, $a % 100; $a->bmul($l)->bdiv($b);
}
# チートを使わずに Math::BigInt を使って書くとこんな感じ
# なぜこのような結果になるかは数学板をご参照のこと
https://ideone.com/93109J
#!/usr/bin/perl
use Math::BigInt;
$b=Math::BigInt->new(10)->bpow(400);
$l=Math::BigInt->new(2501)->bmul($b)->bmul($b)->bsqrt()->badd(Math::BigInt->new(50)->bmul($b));
$a=Math::BigInt->new(1);
for $i ( 0 .. 100 ) {
printf "%3d: %2d\n", $i, $a % 100; $a->bmul($l)->bdiv($b);
}
# チートを使わずに Math::BigInt を使って書くとこんな感じ
# なぜこのような結果になるかは数学板をご参照のこと
369デフォルトの名無しさん
2021/03/03(水) 17:38:52.70ID:N/Xxe4np 俺が学生だった頃も模試や入試含めて見たことないな[]
370デフォルトの名無しさん
2021/03/03(水) 19:46:17.30ID:6ploduqz 他の工学部ならともかく情報工学部の教科書にはガウス記号は頻出する
371デフォルトの名無しさん
2021/03/03(水) 20:35:40.01ID:N/Xxe4np 情報工学だけど教科書は⌈⌉や⌊⌋だったな[]見覚えないわ
いつごろから使われ始めたんだろうか
いつごろから使われ始めたんだろうか
372デフォルトの名無しさん
2021/03/03(水) 22:15:16.70ID:sH3hVaJt373デフォルトの名無しさん
2021/03/03(水) 23:22:18.43ID:lm58Q0f3 お題
文字列"OF"と文字列"OFF"の
2種類の要素だけからなる配列がある。
間違えて空文字を区切り文字として連結してしまった。
この文字列から元の配列を復元する。
例
入力:OFOFOFFOFOFFOFOFF
出力:["OF", "OF", "OFF", "OF", "OFF", "OF", "OFF"]
文字列"OF"と文字列"OFF"の
2種類の要素だけからなる配列がある。
間違えて空文字を区切り文字として連結してしまった。
この文字列から元の配列を復元する。
例
入力:OFOFOFFOFOFFOFOFF
出力:["OF", "OF", "OFF", "OF", "OFF", "OF", "OFF"]
374デフォルトの名無しさん
2021/03/03(水) 23:45:31.04ID:XIfP2xof >>373
haskell
ofoff x = case x of
_ | x == "" -> [ ]
_ | x == "OF" -> [ "OF" ]
_ | x !! 2 == 'F' -> "OFF" : ( ofoff $ drop 3 x )
_ -> "OF" : ( ofoff $ drop 2 x )
main = print $ ofoff "OFOFOFFOFOFFOFOFF"
---
["OF","OF","OFF","OF","OFF","OF","OFF"]
haskell
ofoff x = case x of
_ | x == "" -> [ ]
_ | x == "OF" -> [ "OF" ]
_ | x !! 2 == 'F' -> "OFF" : ( ofoff $ drop 3 x )
_ -> "OF" : ( ofoff $ drop 2 x )
main = print $ ofoff "OFOFOFFOFOFFOFOFF"
---
["OF","OF","OFF","OF","OFF","OF","OFF"]
375デフォルトの名無しさん
2021/03/04(木) 00:11:55.91ID:RqEEc2dR >>373 javascript
'OFOFOFFOFOFFOFOFF'.match(/OFF|OF/g)
'OFOFOFFOFOFFOFOFF'.match(/OFF|OF/g)
376デフォルトの名無しさん
2021/03/04(木) 00:29:22.56ID:cIYJR4p9 >>373
多少技巧的だけど見た目にはキレイ
haskell
ofoff x = case ( take 3 $ x ++ ( " " ) ) of
" " -> [ ]
"OFF" -> "OFF" : ( ofoff $ drop 3 x )
_ -> "OF" : ( ofoff $ drop 2 x )
main = print $ ofoff "OFOFOFFOFOFFOFOFF"
多少技巧的だけど見た目にはキレイ
haskell
ofoff x = case ( take 3 $ x ++ ( " " ) ) of
" " -> [ ]
"OFF" -> "OFF" : ( ofoff $ drop 3 x )
_ -> "OF" : ( ofoff $ drop 2 x )
main = print $ ofoff "OFOFOFFOFOFFOFOFF"
377デフォルトの名無しさん
2021/03/04(木) 00:51:54.32ID:BdVR6hFB >>373
p "OFOFOFFOFOFFOFOFF".split(/(?=O)/)
p "OFOFOFFOFOFFOFOFF".split(/(?=O)/)
3789 Perlおじさん
2021/03/04(木) 02:08:25.47ID:nBeXoR6u >>373 Perl5
$s = 'OFOFOFFOFOFFOFOFF';
@a = $s =~ /(OFF?)/g;
print "@a\n";
あるいは一行で書くなら
print "@{['OFOFOFFOFOFFOFOFF' =~ /(OFF?)/g]}\n";
いずれも実行結果は
$ perl 19_373_OF_OFF.pl
OF OF OFF OF OFF OF OFF
$s = 'OFOFOFFOFOFFOFOFF';
@a = $s =~ /(OFF?)/g;
print "@a\n";
あるいは一行で書くなら
print "@{['OFOFOFFOFOFFOFOFF' =~ /(OFF?)/g]}\n";
いずれも実行結果は
$ perl 19_373_OF_OFF.pl
OF OF OFF OF OFF OF OFF
3799 Perlおじさん
2021/03/04(木) 02:32:59.31ID:nBeXoR6u3809 Perlおじさん
2021/03/04(木) 02:38:17.51ID:nBeXoR6u 時頭じゃね地頭なJK
3819 Perlおじさん
2021/03/04(木) 03:01:38.79ID:nBeXoR6u >>367
慇懃無礼にならないように気をつけましょう
慇懃無礼にならないように気をつけましょう
3829 Perlおじさん
2021/03/04(木) 03:32:42.45ID:nBeXoR6u383デフォルトの名無しさん
2021/03/04(木) 06:17:22.15ID:Mf5kR6rJ384デフォルトの名無しさん
2021/03/04(木) 06:44:25.46ID:WsooY2U3 上のやり取りみるにちょっとでも数学の話題になる度にスレ荒らしてたのがperlの人だったのかね
流石にガウス記号知らないのは嘘だと思うが
流石にガウス記号知らないのは嘘だと思うが
385デフォルトの名無しさん
2021/03/04(木) 07:24:39.38ID:JDmHia/u 数学板でプログラム関連の話題を出すと攻撃され
プログラム板で数学関連の話題を出すと攻撃され
プログラムも数学も好きなニキは行き場がないな
プログラム板で数学関連の話題を出すと攻撃され
プログラムも数学も好きなニキは行き場がないな
386デフォルトの名無しさん
2021/03/04(木) 08:07:16.34ID:ZzTfrDZr387デフォルトの名無しさん
2021/03/04(木) 09:29:02.54ID:ZzTfrDZr3889
2021/03/04(木) 11:06:02.64ID:R0BLpu43 >>384
>>364
こういう人をバカにしたような挑発を受けたときに
今回と前回、名前欄にレス番書いて反論したことはあるけど
他の何度か大荒れしたときはオレは参加していないので念のため
数学は好きなので解ける問題は回答してきた
ただし>>358に書いたように人に伝わりにくいような略した書き方をされると
独善的な印象の違和感を感じているところに、
数学という分野の観点から>>384みたいな人をバカにしたレスがつくと機嫌が悪くなる。
嫌がられるのは出題分野が数学かどうかではないところに第一原因があると思うので気がついたほうがいいよ
>>379 は黙ってりゃいいことなんだけれど、
せっかくHaskell勉強したのに残念というか、もったいないなとつい手が滑ってしまった
今後精進ください
それからC,C++,go,pythonでも回答してるよ
>>364
こういう人をバカにしたような挑発を受けたときに
今回と前回、名前欄にレス番書いて反論したことはあるけど
他の何度か大荒れしたときはオレは参加していないので念のため
数学は好きなので解ける問題は回答してきた
ただし>>358に書いたように人に伝わりにくいような略した書き方をされると
独善的な印象の違和感を感じているところに、
数学という分野の観点から>>384みたいな人をバカにしたレスがつくと機嫌が悪くなる。
嫌がられるのは出題分野が数学かどうかではないところに第一原因があると思うので気がついたほうがいいよ
>>379 は黙ってりゃいいことなんだけれど、
せっかくHaskell勉強したのに残念というか、もったいないなとつい手が滑ってしまった
今後精進ください
それからC,C++,go,pythonでも回答してるよ
389デフォルトの名無しさん
2021/03/04(木) 11:08:32.18ID:iBUZ98WR >>373 js
"OFOFFOFOFFOFFOFOFFOF".replace(/FO/g, "F🥺O").split('🥺')
"OFOFFOFOFFOFFOFOFFOF".replace(/FO/g, "F🥺O").split('🥺')
390デフォルトの名無しさん
2021/03/04(木) 11:09:50.42ID:iBUZ98WR >>375
こっちのがいいな
こっちのがいいな
3919
2021/03/04(木) 11:23:14.55ID:R0BLpu43 ただし…
やみくもに「数学板に帰れ」のような過激発言や攻撃をする
一部に極端な数学アレルギーのソフト屋さんもいるようだね
あれはオレも過剰反応だと思う。
ちな、ここにレス書く数学屋さんは数学板のどのようなスレの住人なんだろうか…
ちょっと気になる
やみくもに「数学板に帰れ」のような過激発言や攻撃をする
一部に極端な数学アレルギーのソフト屋さんもいるようだね
あれはオレも過剰反応だと思う。
ちな、ここにレス書く数学屋さんは数学板のどのようなスレの住人なんだろうか…
ちょっと気になる
392デフォルトの名無しさん
2021/03/04(木) 13:22:56.59ID:fsLp5jWw 人の無知をバカにするのはプライドが高すぎる
393デフォルトの名無しさん
2021/03/04(木) 13:30:20.95ID:olKzxs0Y 底辺コーダーぽいしコンプレックスの裏返しでしょ
394デフォルトの名無しさん
2021/03/04(木) 19:18:18.72ID:vlLO+cqi ここのお題ってほぼほぼ離散数学の範疇じゃない?
395デフォルトの名無しさん
2021/03/04(木) 19:40:21.05ID:cqTSJRKn396デフォルトの名無しさん
2021/03/04(木) 21:03:35.51ID:u9KE3oV/ Haskellの人に勉強不足などと言う前に
数学の基本的な初歩の作法くらい学んではいかが?
数学の基本的な初歩の作法くらい学んではいかが?
>>394
その「離散数学」というのは伝統的な数学ではどの分野にあたるのでしょうか?解析学?代数学?幾何学?
その「離散数学」というのは伝統的な数学ではどの分野にあたるのでしょうか?解析学?代数学?幾何学?
398デフォルトの名無しさん
2021/03/04(木) 22:05:59.78ID:JDmHia/u 数論
かな?
かな?
399デフォルトの名無しさん
2021/03/04(木) 22:10:11.45ID:u9KE3oV/ 数論ではない
400デフォルトの名無しさん
2021/03/04(木) 22:20:44.85ID:JDmHia/u そうか
4019
2021/03/05(金) 01:16:32.63ID:87EwnNcH402デフォルトの名無しさん
2021/03/05(金) 02:15:24.81ID:BC+Virb7 ものいへは
くちひるさむし
くちひるさむし
403デフォルトの名無しさん
2021/03/05(金) 05:54:59.00ID:tKFACNt8 >>382で「勉強・精進して、技術的にも人間的にも成長してくれればいいです」と堂々と言ってて笑うわ
404デフォルトの名無しさん
2021/03/05(金) 22:46:04.90ID:OskxCj8k405デフォルトの名無しさん
2021/03/06(土) 05:12:40.16ID:kirbXePv >>373
Kotlin
https://paiza.io/projects/lTXR1DFdbRbedugwfltAHw
なんというか、自分ではほとんど何も考えてないようなプログラム。
正規表現のパターンも >>377 のやつを見てそのまんま利用w
Kotlin
https://paiza.io/projects/lTXR1DFdbRbedugwfltAHw
なんというか、自分ではほとんど何も考えてないようなプログラム。
正規表現のパターンも >>377 のやつを見てそのまんま利用w
406デフォルトの名無しさん
2021/03/06(土) 07:34:01.06ID:u5UDrf4j >>373 J
smoutput<;. 1 'OFOFOFFOFOFFOFOFF'
+--+--+---+--+---+--+---+
|OF|OF|OFF|OF|OFF|OF|OFF|
+--+--+---+--+---+--+---+
smoutput<;. 1 'OFOFOFFOFOFFOFOFF'
+--+--+---+--+---+--+---+
|OF|OF|OFF|OF|OFF|OF|OFF|
+--+--+---+--+---+--+---+
407デフォルトの名無しさん
2021/03/06(土) 14:12:32.62ID:u59OSjMq >>373
Haskell
import Text.ParserCombinators.Parsec
import Data.Either
ofoff = let
ofoffP = many $ try ( string "OFF" ) <|> ( string "OF" )
in fromRight [ ] . ( parse ( ofoffP ) "" )
main = print $ ofoff "OFOFOFFOFOFFOFOFF"
Haskell
import Text.ParserCombinators.Parsec
import Data.Either
ofoff = let
ofoffP = many $ try ( string "OFF" ) <|> ( string "OF" )
in fromRight [ ] . ( parse ( ofoffP ) "" )
main = print $ ofoff "OFOFOFFOFOFFOFOFF"
408デフォルトの名無しさん
2021/03/06(土) 14:38:49.14ID:Agh4NOMQ >>373 Perl
#! perl
$_ = 'OFOFOFFOFOFFOFOFF';
# 正規表現つかう場合
#@out = /(.F*)/g;
# 正規表現つかわない場合
while( length ) { push @out, ($c = substr($_, 0, 1, '')) eq 'F' ? pop(@out) . $c : $c ; }
printf "[%s]\n", join ',', map { qq("$_") } @out;
#! perl
$_ = 'OFOFOFFOFOFFOFOFF';
# 正規表現つかう場合
#@out = /(.F*)/g;
# 正規表現つかわない場合
while( length ) { push @out, ($c = substr($_, 0, 1, '')) eq 'F' ? pop(@out) . $c : $c ; }
printf "[%s]\n", join ',', map { qq("$_") } @out;
409デフォルトの名無しさん
2021/03/06(土) 16:10:04.03ID:kirbXePv >>373
こういうのどうだろう? (主にUNIX用シェルのコマンドラインで echo, sed 使用)
echo 'OFOFOFFOFOFFOFOFF' | sed 's/FO/F, O/g'
これは出力がこうなる。
OF, OF, OFF, OF, OFF, OF, OFF
こういうのどうだろう? (主にUNIX用シェルのコマンドラインで echo, sed 使用)
echo 'OFOFOFFOFOFFOFOFF' | sed 's/FO/F, O/g'
これは出力がこうなる。
OF, OF, OFF, OF, OFF, OF, OFF
410デフォルトの名無しさん
2021/03/06(土) 21:20:45.25ID:VLVmqcBA411デフォルトの名無しさん
2021/03/06(土) 22:54:19.97ID:ZpSkomP2 355です
ちょっとスレの雰囲気よろしくなかったので355は無かった事にしようかとも思ったんですけど一応想定してた解書いてみます
数学板で最初この話題が出たときHaskellにはBigintのsqrtがない事に気づいてめんどくせえと思ったもんですから他の言語ではどうなんだろうなぁと
調べたらperlにはあるけどrubyやputhonにはないみたいですね
bigint sqrt ruby とかで検索するとノウハウがヒットします
想定してた解はその手の解答でまず最初に出てくる
a(1)=1,
a(k) = [ ( a(k) + [ n/a(k) ] ) / 2 ] ( [x] は floor(x) )
で定義される数列a(k)を
a(k)^2≦n<(a(k)+1)^2
が成立するまで計算していくという方法です
Haskellでの実装はこんな感じ
https://ideone.com/gLt8mp
後面白いのには連分数を利用する解答などもあります
数列pn, qnを
p(0)=1, p(1)=100, p(n+2)=100p(n+1)+p(n)
q(0)=0, q(1)=1, q(n+2)=100q(n+1)+q(n)
とすると
p(2n-1)/q(2n-1) < 50+√2501 < p(2n)/q(2n)
を満たしながらlim p(n)/q(n) = 50+√2501になります(連分数の打ち切り近似)
コレを利用するとこんな感じです
https://ideone.com/X0UgJb
ちょっとスレの雰囲気よろしくなかったので355は無かった事にしようかとも思ったんですけど一応想定してた解書いてみます
数学板で最初この話題が出たときHaskellにはBigintのsqrtがない事に気づいてめんどくせえと思ったもんですから他の言語ではどうなんだろうなぁと
調べたらperlにはあるけどrubyやputhonにはないみたいですね
bigint sqrt ruby とかで検索するとノウハウがヒットします
想定してた解はその手の解答でまず最初に出てくる
a(1)=1,
a(k) = [ ( a(k) + [ n/a(k) ] ) / 2 ] ( [x] は floor(x) )
で定義される数列a(k)を
a(k)^2≦n<(a(k)+1)^2
が成立するまで計算していくという方法です
Haskellでの実装はこんな感じ
https://ideone.com/gLt8mp
後面白いのには連分数を利用する解答などもあります
数列pn, qnを
p(0)=1, p(1)=100, p(n+2)=100p(n+1)+p(n)
q(0)=0, q(1)=1, q(n+2)=100q(n+1)+q(n)
とすると
p(2n-1)/q(2n-1) < 50+√2501 < p(2n)/q(2n)
を満たしながらlim p(n)/q(n) = 50+√2501になります(連分数の打ち切り近似)
コレを利用するとこんな感じです
https://ideone.com/X0UgJb
412デフォルトの名無しさん
2021/03/06(土) 23:07:31.35ID:gHRSDkBE >>368で、なぜこのような結果になるかは数学板をご参照のこと、なんていってるけど
数学の問題として解くからこそ下2桁に規則性があることが分かるんであって
数値計算の結果見たからって規則性があるなんて誰も分からないだろうに
数学の問題として解くからこそ下2桁に規則性があることが分かるんであって
数値計算の結果見たからって規則性があるなんて誰も分からないだろうに
413デフォルトの名無しさん
2021/03/06(土) 23:19:24.93ID:Agh4NOMQ 下2桁に規則性がありそうだ、
ということは数値計算の結果を見ればなんとなく分かるんだけど
なぜ規則性があるか、ずっと計算を続けても同じ規則があてはまるかどうかは
数学的には証明しないといけない
ということは数値計算の結果を見ればなんとなく分かるんだけど
なぜ規則性があるか、ずっと計算を続けても同じ規則があてはまるかどうかは
数学的には証明しないといけない
414デフォルトの名無しさん
2021/03/07(日) 00:25:10.38ID:v+hjnMjR >> 355 Ruby
Q = 10 ** 1000
C = 50 * Q + Integer.sqrt(2501 * Q ** 2)
a = 1
0.upto(100) { puts a % 100; a = C * a / Q }
Q = 10 ** 1000
C = 50 * Q + Integer.sqrt(2501 * Q ** 2)
a = 1
0.upto(100) { puts a % 100; a = C * a / Q }
415デフォルトの名無しさん
2021/03/07(日) 03:38:17.36ID:AH6y7D6q >>410
ガウス記号知らなかったのなんて騒いでた1人だけじゃん
ガウス記号知らなかったのなんて騒いでた1人だけじゃん
416デフォルトの名無しさん
2021/03/07(日) 14:59:42.56ID:E+eZE9ak sqrt は私なら二分探索するかな
417デフォルトの名無しさん
2021/03/07(日) 16:42:40.23ID:4e/EQUS9 俺もガウス記号知らなかったよ
418デフォルトの名無しさん
2021/03/07(日) 23:49:22.14ID:mJjrRrnV そういやあったなって感じだし競プロでしか目にした覚えないし解説入れてた気がするし
忘れても良いわ
忘れても良いわ
419デフォルトの名無しさん
2021/03/07(日) 23:52:19.70ID:6FoXMbth420デフォルトの名無しさん
2021/03/08(月) 06:33:43.32ID:mSIC7i2M 知らなくてもググればすぐにわかるようなことでキレてるのが滑稽なわけで
しかもなぜかHaskellの人に暴言まで吐いてる
しかもなぜかHaskellの人に暴言まで吐いてる
421デフォルトの名無しさん
2021/03/08(月) 07:06:18.72ID:UeYS9xl0 底辺コーダーが年経て自尊心だけが膨らみ現実との乖離にアイデンティティを保てなくなった典型
老害と言われるものの一端
改善の見込みは無く今後悪化の一途を辿るので首吊るよう誘導するのが最善策
老害と言われるものの一端
改善の見込みは無く今後悪化の一途を辿るので首吊るよう誘導するのが最善策
422デフォルトの名無しさん
2021/03/08(月) 12:07:43.97ID:fgjPNF/K >>421
じゃあお前が死ねよ
じゃあお前が死ねよ
423デフォルトの名無しさん
2021/03/08(月) 17:45:02.03ID:xLhHwRoq >>419
そうですね
広い意味では二分木探索
(ri)^2<n<(ri+2ei)^2のとき(ri+ei)^2<nか否かでr(i+1)を決める
その時n-(ri)^2の値を保持しておいて次の(n-r(i+1))^2を計算するのにわざわざ二乗する手間を省く
いわゆる和算の“開平算”の二進数版ですね
コレも「平方根、アルゴリズム」とかで検索するとよく出てきます
実際Cで実装してる例とかヒットしますね
話をfloor√nの計算に適用すれば与えられた整数nに対して
(n0,r0,b0) = (n,0,4^( floor log[4]n ))
(n(i+1),r(i+1),b(i+1))
=(n(i), r(i)/2, b(i)/4 ) (n(i)<r(i)+b(i)のとき)
=(n(i)-r(i)-b(i), r(i)/2+b(i), b(i)/4) (そうでないとき)
でb(i)=1になるまで続けると最後のriがfloor(√n)を与えるようです
そうですね
広い意味では二分木探索
(ri)^2<n<(ri+2ei)^2のとき(ri+ei)^2<nか否かでr(i+1)を決める
その時n-(ri)^2の値を保持しておいて次の(n-r(i+1))^2を計算するのにわざわざ二乗する手間を省く
いわゆる和算の“開平算”の二進数版ですね
コレも「平方根、アルゴリズム」とかで検索するとよく出てきます
実際Cで実装してる例とかヒットしますね
話をfloor√nの計算に適用すれば与えられた整数nに対して
(n0,r0,b0) = (n,0,4^( floor log[4]n ))
(n(i+1),r(i+1),b(i+1))
=(n(i), r(i)/2, b(i)/4 ) (n(i)<r(i)+b(i)のとき)
=(n(i)-r(i)-b(i), r(i)/2+b(i), b(i)/4) (そうでないとき)
でb(i)=1になるまで続けると最後のriがfloor(√n)を与えるようです
424デフォルトの名無しさん
2021/03/10(水) 21:12:56.40ID:1K35/kHq ここって算法設計的なお題オンリー?
425デフォルトの名無しさん
2021/03/10(水) 21:16:54.62ID:18mRPtRC 半年ROMるか過去スレ眺めろ
426デフォルトの名無しさん
2021/03/10(水) 21:56:50.00ID:1K35/kHq OK
前スレ見たらグラフィックスとかサウンドとかのお題もあるのね
要は何でもありってことか
前スレ見たらグラフィックスとかサウンドとかのお題もあるのね
要は何でもありってことか
427デフォルトの名無しさん
2021/03/10(水) 22:00:42.15ID:ixLG+AYE 半年でいいのかw
428デフォルトの名無しさん
2021/03/11(木) 12:49:28.58ID:lS475G3P なんでもありと言ってもなんでもレスつくわけじゃない
メディア系のお題は環境の違いでほとんど他の人が確かめる方法もないから正直うざい
事実上”みんなが確かめられるメディア系のお題”となるとjavascript一択になってしまう
メディア系のお題は環境の違いでほとんど他の人が確かめる方法もないから正直うざい
事実上”みんなが確かめられるメディア系のお題”となるとjavascript一択になってしまう
429デフォルトの名無しさん
2021/03/12(金) 13:32:57.02ID:8htaOCuZ お題
何番目?
ascii文字列が与えられる
その文字列が、その文字列を並べ替えてできる文字列全体の中で辞書式順序で何番目にあるかを計算せよ
例) 入力が hello であるなら並べ替えて順に並べると
ehllo ehlol eholl
elhlo elhol ellho elloh elohl elolh
eohll eolhl eollh
hello ...
なので13である
"cabaac" -> 47
"2021312" -> 197
"This is an apple." -> 975082180080
何番目?
ascii文字列が与えられる
その文字列が、その文字列を並べ替えてできる文字列全体の中で辞書式順序で何番目にあるかを計算せよ
例) 入力が hello であるなら並べ替えて順に並べると
ehllo ehlol eholl
elhlo elhol ellho elloh elohl elolh
eohll eolhl eollh
hello ...
なので13である
"cabaac" -> 47
"2021312" -> 197
"This is an apple." -> 975082180080
430デフォルトの名無しさん
2021/03/12(金) 13:54:28.91ID:8htaOCuZ 発展
ucs4のユニコード文字列も処理できるようにせよ
"いろはにほへとちりぬるを"
34213807
"ちょっとちょっと、大嶋さん。小島だよ!"
2031206446571101
ucs4のユニコード文字列も処理できるようにせよ
"いろはにほへとちりぬるを"
34213807
"ちょっとちょっと、大嶋さん。小島だよ!"
2031206446571101
431デフォルトの名無しさん
2021/03/12(金) 16:24:36.54ID:EbD8nxkK N進数を出せばいいだけじゃねえのコレ
432デフォルトの名無しさん
2021/03/12(金) 16:31:07.89ID:iC3QOahd >>431
やってみろやカス
やってみろやカス
433デフォルトの名無しさん
2021/03/12(金) 18:56:05.12ID:UUsn73Ob434デフォルトの名無しさん
2021/03/12(金) 19:34:51.56ID:F+VKLi92435デフォルトの名無しさん
2021/03/12(金) 21:01:53.27ID:ALDE6uMT 数学やってたほうが楽しいんじゃね?
436デフォルトの名無しさん
2021/03/12(金) 23:58:14.03ID:hKy/WFzt 解説入れます
例えば2021312が何番目か考えます
樹形図を利用します
樹形図を使って2021312以前に何個の文字列が入り得るか考えます
┳0━(112223)‥‥‥‥‥‥‥‥‥6!/(2!3!1!)=60
┣1━(012223)‥‥‥‥‥‥‥‥‥6!/(1!1!3!1!)=120
┗2━0┳1━(1223)‥‥‥‥‥‥4!/(1!2!1!)=12
┗2━1┳1━(23)‥‥‥2!/(1!1!)=2
┣2━(13)‥‥‥2!/(1!1!)=2
┗3━1━2‥‥..1
図の例えば(112223)は“112223を自由に並べてできる房”を表しており公式により6!/(1!3!2!)=60個の文字列が入ります
右の欄を合計して197が2021312の番号とわかります
この作業をプログラムで自動化して下さいがお題です
例えば2021312が何番目か考えます
樹形図を利用します
樹形図を使って2021312以前に何個の文字列が入り得るか考えます
┳0━(112223)‥‥‥‥‥‥‥‥‥6!/(2!3!1!)=60
┣1━(012223)‥‥‥‥‥‥‥‥‥6!/(1!1!3!1!)=120
┗2━0┳1━(1223)‥‥‥‥‥‥4!/(1!2!1!)=12
┗2━1┳1━(23)‥‥‥2!/(1!1!)=2
┣2━(13)‥‥‥2!/(1!1!)=2
┗3━1━2‥‥..1
図の例えば(112223)は“112223を自由に並べてできる房”を表しており公式により6!/(1!3!2!)=60個の文字列が入ります
右の欄を合計して197が2021312の番号とわかります
この作業をプログラムで自動化して下さいがお題です
437デフォルトの名無しさん
2021/03/13(土) 12:51:54.69ID:B5UDn6aQ438デフォルトの名無しさん
2021/03/13(土) 13:32:35.11ID:00XYgDYP439デフォルトの名無しさん
2021/03/13(土) 13:37:55.91ID:YnB9PH3t 同じ文字が2回以上出てこなければそうかもね
440デフォルトの名無しさん
2021/03/13(土) 15:15:23.30ID:KnYO1TCS 例文が増えていくなww
441デフォルトの名無しさん
2021/03/14(日) 04:01:15.90ID:3mM6lZOa >>429
Kotlin
https://paiza.io/projects/aJ5J0aIVgB9tYzGBCtrRlA
折角なので順列を求めるクラスを作った。
でもこれ、長いやつは駄目なんだよな。馬鹿正直に全パターン求めてリストに貯め込んでるだけなので。
>>434のプログラムは長くても大丈夫になっているけど、どうしてそれで良いのかがまだよく分からない。
分かったらこちらでも作ろうと思う。(面倒くさくなったら分からないままにするかも知れないが)。
Kotlin
https://paiza.io/projects/aJ5J0aIVgB9tYzGBCtrRlA
折角なので順列を求めるクラスを作った。
でもこれ、長いやつは駄目なんだよな。馬鹿正直に全パターン求めてリストに貯め込んでるだけなので。
>>434のプログラムは長くても大丈夫になっているけど、どうしてそれで良いのかがまだよく分からない。
分かったらこちらでも作ろうと思う。(面倒くさくなったら分からないままにするかも知れないが)。
442デフォルトの名無しさん
2021/03/14(日) 05:37:41.91ID:Z9W/iZQV 単に>>436に書かれてる方法を忠実に実装するだけじゃないでしょうか
443デフォルトの名無しさん
2021/03/14(日) 09:07:42.95ID:DsiSCREB お題: テキストからURLだけを除去しなさい
abc
https://aaaa.bbb/c_c-c/ddee?ff=gg
def
https://aaaa.bbb/c_c-c/ddee?ff=gg
ghi
↓
abc
def
ghi
abc
https://aaaa.bbb/c_c-c/ddee?ff=gg
def
https://aaaa.bbb/c_c-c/ddee?ff=gg
ghi
↓
abc
def
ghi
444デフォルトの名無しさん
2021/03/14(日) 09:35:01.23ID:UOoBKmpX 何をもってURLとする?
関連RFCに完全準拠してるか厳密に判定する?
関連RFCに完全準拠してるか厳密に判定する?
445デフォルトの名無しさん
2021/03/14(日) 09:53:18.83ID:DsiSCREB446デフォルトの名無しさん
2021/03/14(日) 10:49:49.29ID:Y1bQ+92y URLのある行はURLしか含まれないの?
447デフォルトの名無しさん
2021/03/14(日) 11:00:29.45ID:U7p9/hus448デフォルトの名無しさん
2021/03/14(日) 11:20:26.21ID:DsiSCREB449デフォルトの名無しさん
2021/03/14(日) 12:30:27.16ID:IL1Rx7pe Ruby のURI.regexp は、Ruby 2.2 から廃止予定で困る。
URL の規格がハッキリしないのか?
誰か、C でも良いし、モジュールを作ってほしい
URL の規格がハッキリしないのか?
誰か、C でも良いし、モジュールを作ってほしい
450デフォルトの名無しさん
2021/03/14(日) 15:07:40.98ID:PjD3+bpC451デフォルトの名無しさん
2021/03/14(日) 17:08:12.27ID:L9o4CQs/ >>447
この正規表現は\bとかwikipediaに載ってる標準の正規表現じゃないみたいだけどコレの正規表現ってどの言語の正規表現ですか?
この正規表現は\bとかwikipediaに載ってる標準の正規表現じゃないみたいだけどコレの正規表現ってどの言語の正規表現ですか?
452デフォルトの名無しさん
2021/03/14(日) 17:27:02.50ID:L9o4CQs/ '.'が文字列の結合を表してるみたいだからphpという奴ですかね?
453デフォルトの名無しさん
2021/03/14(日) 17:41:04.33ID:UOoBKmpX >>451
記事のタイトルくらい読みなよ
記事のタイトルくらい読みなよ
455デフォルトの名無しさん
2021/03/14(日) 17:52:58.17ID:3mM6lZOa456デフォルトの名無しさん
2021/03/14(日) 18:27:29.43ID:L9o4CQs/457デフォルトの名無しさん
2021/03/14(日) 18:29:06.56ID:L9o4CQs/ まぁでも所詮お遊びなんだからurlの切れ目はスペース、タブ、改行と決め打っても十分な気もする
こだわり出すとキリないからなぁ
こだわり出すとキリないからなぁ
458デフォルトの名無しさん
2021/03/14(日) 19:20:21.27ID:3mM6lZOa あらゆるプロトコルのURLに対応したこれが最強かな。
perl -pe 's#\S+://\S+##g'
perl -pe 's#\S+://\S+##g'
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国通ジャーナリスト「高市首相が反省、撤回必要ない…こういう外交待っていた」「日本のレッドラインを明確に示した」 [お断り★]
- 高市首相を「こんなバカ」呼ばわりで物議…人気ミュージシャンが声明「感情的で稚拙だった。適切な言い方でなかった」 [muffin★]
- 芸能界ケンカ最強番付を発表「リングなら岡田准一」 横浜流星&新田真剣佑の名前も 1番強いのは誰か [牛丼★]
- 【物価高対策】「おこめ券を配布しません」大阪府交野の市長が明言「経費率が高い」「今高い米をムリして…」 [1ゲットロボ★]
- 「報道特集」山本恵里伽アナ、日中緊張で「当たり前のことがはっきり言いづらい空気…ショック」 [首都圏の虎★]
- 落ち度はゼレンスキー氏に 内政混乱、市民怒り [蚤の市★]
- 【実況】博衣こよりのえちえちラムベガス🧪★5
- 【実況】博衣こよりのえちえちラムベガス🧪★6
- 【実況】博衣こよりのえちえちラムベガス🧪★4
- 🏡
- 高市早苗に3,000万円の献金を渡した団体、限界突破wwwwwwwwwwwwwwwwwwwwwwww [329329848]
- オメガ👈なにを思い浮かべた? [546716239]
