- プログラミングのお題スレ Part12
635 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:02:55.27 ID:YC9N9M8Q - >>633
そういわれると>>634も自信がなくなってきたので念のため修正 >>628 >>630 Perl5 for (<DATA>) { ($X, $y) = split; $x = $m = $X % $y; my ($n, %h); $h{$x} = 1; do { $x = 10 * $x % $y; $n++ } until $h{$x}; print "$X/$y => ", ($x ? $n : $x), "\n"; } __DATA__ 1 3 10 2 988027 983 919 870473 1223 1476221 99998360006603 9999901 123412345 999999999 実行 $ perl 12_628.pl 1/3 => 1 10/2 => 0 988027/983 => 982 919/870473 => 54288 1223/1476221 => 122816 99998360006603/9999901 => 1999980 123412345/999999999 => 9
|
- オブジェクト指向ってクソじゃねぇよ? Part2
944 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:06:56.04 ID:YC9N9M8Q - >>943
っω
|
- プログラミングのお題スレ Part12
637 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:10:07.02 ID:YC9N9M8Q - >>636
サンプルデータでは問題ないが 場合によっては無限ループの恐れアルかも
|
- プログラミングのお題スレ Part12
638 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:11:14.76 ID:YC9N9M8Q - >>635 は無限ループの恐れなし
|
- プログラミングのお題スレ Part12
640 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:16:08.77 ID:YC9N9M8Q - >>638 いや変なところから巡回し始める数値があれば>>635 も無限ループ
以下修正版。しかし少し進んでからようやく巡回し始める数値ってあるんだろうか… for (<DATA>) { ($X, $y) = split; $x = $m = $X % $y; my ($n, %h); $h{$x} = 1; while(1) { $x = 10 * $x % $y; $n++; last if $h{$x}; $h{$x} = 1; } print "$X/$y => ", ($x ? $n : $x), "\n"; } __DATA__ 1 3 10 2 988027 983 919 870473 1223 1476221 99998360006603 9999901 123412345 999999999
|
- プログラミングのお題スレ Part12
641 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:19:18.30 ID:YC9N9M8Q - >>639
しらんがなサイトのtimeout秒設定とちゃいますか いま使っているPC(CPU Core U1300 1.06Gz)では 一番遅い>>640のソースで $ time perl 12_628.pl 1/3 => 1 10/2 => 0 988027/983 => 982 919/870473 => 54288 1223/1476221 => 122816 99998360006603/9999901 => 1999980 123412345/999999999 => 9 12.312 secs
|
- プログラミングのお題スレ Part12
643 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:26:34.37 ID:YC9N9M8Q - >>642 うちのPCだと
for (<DATA>) { ($X, $y) = split; $x = $m = $X % $y; my ($n, %h); $h{$x} = 1; while(1) { $x = 10 * $x % $y; $n++; last if $h{$x}; $h{$x} = 1; } print "$X/$y => ", ($x ? $n : $x), "\n"; } __DATA__ 1234 55 実行 $ time perl 12_628.pl 1234/55 => 3 0.281 secs Perlは5.20.3 32 bit, integerは64bit のもの。 5.16.3 32 bit, integer が32bitでも 1234/55 は => 3 になるよ
|
- プログラミングのお題スレ Part12
645 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:33:49.88 ID:YC9N9M8Q - >>644
for (<DATA>) { ($X, $y) = split; $x = $m = $X % $y; my ($n, %h); $h{$x} = 1; while(1) { $x = 10 * $x % $y; $n++; last if $h{$x}; $h{$x} = 1; } print "$X/$y => ", ($x ? $n : $x), "\n"; } __DATA__ 1234 555 Perl 5.20.3 32 bit, integer 64bit $ perl.exe 12_628.pl 1234/555 => 4 0.266 secs Perl 5.16.3 32 bit, integer 32bit $ perl 12_628.pl 1234/555 => 4
|
- プログラミングのお題スレ Part12
647 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:37:56.28 ID:YC9N9M8Q - >>645
bug に気がついた。循環する範囲だけの長さを求めていない
|
- プログラミングのお題スレ Part12
649 :デフォルトの名無しさん[sage]:2018/11/22(木) 00:47:46.57 ID:YC9N9M8Q - >>628 >>630 Perl5
for (<DATA>) { ($X, $y) = split; $x = $m = $X % $y; my ($n, %h); $h{$x} = $n++; while(1) { $x = 10 * $x % $y; last if $h{$x}; $h{$x} = $n++; } print "$X/$y => ", ($x ? $n-$h{$x} : $x), "\n"; } __DATA__ 1 3 10 2 988027 983 919 870473 1223 1476221 99998360006603 9999901 123412345 999999999 1234 555 実行 $ perl 12_628.pl 1/3 => 1 10/2 => 0 988027/983 => 982 919/870473 => 54288 1223/1476221 => 122816 99998360006603/9999901 => 1999980 123412345/999999999 => 9 1234/555 => 3
|
- オブジェクト指向ってクソじゃねぇよ? Part2
954 :デフォルトの名無しさん[sage]:2018/11/22(木) 01:47:25.03 ID:YC9N9M8Q - >>953
違うという理由を人に聞く前に そうだという理由を述べるのが筋だろ
|
- オブジェクト指向ってクソじゃねぇよ? Part2
956 :デフォルトの名無しさん[sage]:2018/11/22(木) 02:01:56.48 ID:YC9N9M8Q - >>955
科学とか工学にはるかに至らない 迷信とか思い込みのレベルだな
|