プログラミングのお題スレです。
前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
プログラミングのお題スレ Part11
■ このスレッドは過去ログ倉庫に格納されています
2018/04/24(火) 20:45:14.49ID:ZY7R7Sru
620デフォルトの名無しさん
2018/07/15(日) 03:18:16.17ID:upVjqm6g cat
Hello, World!
もはやプログラムですらない。
Hello, World!
もはやプログラムですらない。
621デフォルトの名無しさん
2018/07/15(日) 08:10:13.37ID:YZu0PDvL >>599
100この中から4個を選ぶことだから完全最小ハッシュ関数が使える
100この中から4個を選ぶことだから完全最小ハッシュ関数が使える
622デフォルトの名無しさん
2018/07/15(日) 08:20:59.61ID:YZu0PDvL >>603
紙にペンでHello, World! と書く。
紙にペンでHello, World! と書く。
623デフォルトの名無しさん
2018/07/15(日) 08:21:04.86ID:YZu0PDvL >>603
紙にペンでHello, World! と書く。
紙にペンでHello, World! と書く。
624デフォルトの名無しさん
2018/07/15(日) 08:24:39.94ID:iXIp3nZ5 10 PRINT "Hello, World!"
625デフォルトの名無しさん
2018/07/15(日) 09:17:28.76ID:rFf4w5JC 「何々禁止で何々を書け」って類いの問題で面白くなることはあんましないな
626デフォルトの名無しさん
2018/07/15(日) 09:35:01.35ID:d2Ttt1A+627デフォルトの名無しさん
2018/07/15(日) 12:21:14.41ID:9lve5q3D628デフォルトの名無しさん
2018/07/15(日) 13:09:18.09ID:+eT7t0LR 質問一回許すとなし崩しに宿題だらけになるぞ。警告はした。
629デフォルトの名無しさん
2018/07/15(日) 13:13:37.51ID:9lve5q3D これ宿題じゃないですよ
ここに書く前にコードも書いてたしもっと効率いい方法ここの人達なら知ってそうだと思ったから
ここに書く前にコードも書いてたしもっと効率いい方法ここの人達なら知ってそうだと思ったから
630デフォルトの名無しさん
2018/07/15(日) 13:15:21.60ID:kiP00q0W631デフォルトの名無しさん
2018/07/15(日) 14:11:04.01ID:d2Ttt1A+ >>629
よし、そのコードを貼るのだ
よし、そのコードを貼るのだ
632デフォルトの名無しさん
2018/07/15(日) 14:14:11.66ID:9lve5q3D633デフォルトの名無しさん
2018/07/15(日) 14:19:01.22ID:ugn7dRUi いいから貼れ
634デフォルトの名無しさん
2018/07/15(日) 14:26:45.03ID:9lve5q3D635デフォルトの名無しさん
2018/07/15(日) 14:33:39.46ID:ugn7dRUi それの何が不満?
何をどう改善したいのかわからないと
テーブル作成の速度?
テーブル検索の速度?
コードサイズ?
バイナリサイズ?
コードの分かりやすさや移植性?
何をどう改善したいのかわからないと
テーブル作成の速度?
テーブル検索の速度?
コードサイズ?
バイナリサイズ?
コードの分かりやすさや移植性?
636デフォルトの名無しさん
2018/07/15(日) 14:35:44.41ID:9lve5q3D 何がってほぼ全てが不満だけど
637デフォルトの名無しさん
2018/07/15(日) 14:36:24.88ID:ugn7dRUi ああ、
速度とメモリって書いてあったね
速度とメモリって書いてあったね
638デフォルトの名無しさん
2018/07/15(日) 15:22:45.17ID:ZKe7bXB/ 宿題スレでやれ
639デフォルトの名無しさん
2018/07/15(日) 21:44:41.62ID:WaX+Eind 605、出題しておいて何だがこれめっちゃ難しいな
マップの大きさの制約があると通路引くのが難しすぎる
マップの大きさの制約があると通路引くのが難しすぎる
640デフォルトの名無しさん
2018/07/15(日) 22:38:32.27ID:/hZTTtWu いちおう解けるのを自分で確認してから出してくれないと困る
641デフォルトの名無しさん
2018/07/15(日) 23:36:44.29ID:ugn7dRUi642デフォルトの名無しさん
2018/07/16(月) 00:30:52.75ID:DlxdbTiq 入力と出力の例とかあると良いよね
643デフォルトの名無しさん
2018/07/16(月) 10:10:17.82ID:7UvME/Zj >>607
で、出来てる?
で、出来てる?
>>643
一般に、再帰を非再帰に書き下すのは難しいのです…
一般に、再帰を非再帰に書き下すのは難しいのです…
645デフォルトの名無しさん
2018/07/16(月) 13:51:43.31ID:yJ4dWfp7 お題
ポーランド記法による計算機を実装せよ
演算子は加算(+)と乗算(*)をサポートすること
* + 1 5 + 2 3
=> 30
* * * * 2 3 4 5 6
=> 720
ポーランド記法による計算機を実装せよ
演算子は加算(+)と乗算(*)をサポートすること
* + 1 5 + 2 3
=> 30
* * * * 2 3 4 5 6
=> 720
646デフォルトの名無しさん
2018/07/16(月) 13:53:41.91ID:JYSC+BEo ただし、スタックを使用してはならない
647デフォルトの名無しさん
2018/07/16(月) 13:56:53.16ID:TD/1pPmS さらに、分数と複素数をサポートすること
648デフォルトの名無しさん
2018/07/16(月) 14:01:43.77ID:rAvhQng0 まーた、〜を使わないで、か。
宿題か何かかな
宿題か何かかな
649デフォルトの名無しさん
2018/07/16(月) 14:36:11.63ID:dBK+PWCu >>645 Ruby 2.5.0
[
"* + 1 5 + 2 3",
"* * * * 2 3 4 5 6"
].each do |_exp|
exp = +-_exp
nil while exp.gsub!(/([^\d\s]+) +(\d+) +(\d+)/){$2.to_i.send($1, $3.to_i)}
puts '%s => %s' % [_exp, exp]
end
#=>
* + 1 5 + 2 3 => 30
* * * * 2 3 4 5 6 => 720
[
"* + 1 5 + 2 3",
"* * * * 2 3 4 5 6"
].each do |_exp|
exp = +-_exp
nil while exp.gsub!(/([^\d\s]+) +(\d+) +(\d+)/){$2.to_i.send($1, $3.to_i)}
puts '%s => %s' % [_exp, exp]
end
#=>
* + 1 5 + 2 3 => 30
* * * * 2 3 4 5 6 => 720
650デフォルトの名無しさん
2018/07/18(水) 02:22:22.35ID:7Z3eO87O >>645
Kotlin で二つ作った。
Stack 使ったやつ。
https://paiza.io/projects/Qnrrux74abDRsr1kh77FNA
Stack 使わずに MutableList で 計算記号、数、数のパターンを計算できなくなるまで繰り返し計算するやつ。
enumも使用。
https://paiza.io/projects/rHKDVtB2yjTvymuFLlBL7g
Kotlin で二つ作った。
Stack 使ったやつ。
https://paiza.io/projects/Qnrrux74abDRsr1kh77FNA
Stack 使わずに MutableList で 計算記号、数、数のパターンを計算できなくなるまで繰り返し計算するやつ。
enumも使用。
https://paiza.io/projects/rHKDVtB2yjTvymuFLlBL7g
651デフォルトの名無しさん
2018/07/19(木) 21:45:59.55ID:bv0mlJEL お題
N個の整数(a_1, a_2, ..., a_n, ..., a_N)と*+/()を使った数式の値が、ある整数aにもっとも近い数式とその値(実数)を出力せよ
引き算はなし
a_n = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
N個の整数(a_1, a_2, ..., a_n, ..., a_N)と*+/()を使った数式の値が、ある整数aにもっとも近い数式とその値(実数)を出力せよ
引き算はなし
a_n = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
652デフォルトの名無しさん
2018/07/19(木) 21:52:08.91ID:QlKeHbXC うんざり
653デフォルトの名無しさん
2018/07/24(火) 10:08:13.30ID:Dnr6z2Ly654デフォルトの名無しさん
2018/07/24(火) 12:45:23.08ID:msj5ObGA これ見た目では普通だけどかなり横に長い部屋なんだよな
655デフォルトの名無しさん
2018/07/24(火) 12:55:16.04ID:jy7p1ZdA 部屋と通路以外の場所も存在するのかよ
656デフォルトの名無しさん
2018/07/24(火) 13:01:35.53ID:m/xgtmWb >>654
今だと全角文字で作ればいいかな。絵文字もまじえて。
今だと全角文字で作ればいいかな。絵文字もまじえて。
657デフォルトの名無しさん
2018/07/26(木) 00:47:20.34ID:PpbivrbM >>597 Java
https://ideone.com/VUgSXO
1行〜5行までしか答え出ないな
うちの環境で
9行を探索するのに4.6秒
10行を探索するのに61.6秒
2018行はあかんww
https://ideone.com/VUgSXO
1行〜5行までしか答え出ないな
うちの環境で
9行を探索するのに4.6秒
10行を探索するのに61.6秒
2018行はあかんww
658デフォルトの名無しさん
2018/07/26(木) 01:28:14.71ID:NOsumJU/ いやさすがに数学板でやれや。
国際数学オリンピックて自分で言うてるやんけ
国際数学オリンピックて自分で言うてるやんけ
659デフォルトの名無しさん
2018/07/26(木) 02:06:08.36ID:PpbivrbM 数学とか使わずに総当たりでやってるのに数学板に行けとな
660デフォルトの名無しさん
2018/07/26(木) 03:14:46.46ID:64IGnOgv いやこれは総当たりでは計算量的に無理だろ
コードは書けるだろうけど
存在することを帰納法で証明するしかないから数学板の問題だ
コードは書けるだろうけど
存在することを帰納法で証明するしかないから数学板の問題だ
661デフォルトの名無しさん
2018/07/26(木) 09:13:59.71ID:1RynmuAu まーた数学コンプレックスが暴れてるのか
数オリに出るくらいの賢さがないから計算機の力も借りて解くっていう方向性は別にスレチじゃないだろ
数オリに出るくらいの賢さがないから計算機の力も借りて解くっていう方向性は別にスレチじゃないだろ
662デフォルトの名無しさん
2018/07/26(木) 09:22:17.32ID:NOsumJU/ ここでレスリングの話しだして苦言を呈されると「まーたレスリングコンプレックスが暴れてるのか」
極端に言うとこういうこと。
レスリング板、数学板があるだろ。
わざわざここでオナニーしたいのは専門以外の板でマウント取りたいのかな?
そんなひねくれた根性だから現実世界でミジメな生活なんだよ。
極端に言うとこういうこと。
レスリング板、数学板があるだろ。
わざわざここでオナニーしたいのは専門以外の板でマウント取りたいのかな?
そんなひねくれた根性だから現実世界でミジメな生活なんだよ。
663デフォルトの名無しさん
2018/07/26(木) 09:30:59.20ID:1RynmuAu 早速暴れてて草
正攻法で数オリの問題を解く話を延々してたんならうざいけど
飽くまで計算機使って解いてみようぜって言ってる人にまでその理屈が当てはまるわけないだろ
それとも数学だけじゃなくて論理的思考もできないタイプか?それなら納得だわw
正攻法で数オリの問題を解く話を延々してたんならうざいけど
飽くまで計算機使って解いてみようぜって言ってる人にまでその理屈が当てはまるわけないだろ
それとも数学だけじゃなくて論理的思考もできないタイプか?それなら納得だわw
664デフォルトの名無しさん
2018/07/26(木) 10:44:43.72ID:NOsumJU/ 数学で解ける問題をわざわざコンピューターでムダな解き方するの??
突き詰めていくと数学で出した解法そのまま引き写すだけになるのが分かりきってるのに。
突き詰めていくと数学で出した解法そのまま引き写すだけになるのが分かりきってるのに。
665デフォルトの名無しさん
2018/07/26(木) 10:51:14.48ID:1RynmuAu だからわざわざ「数オリに出るくらいの賢さがないから」って言ってるだろ日本語読めねえのかよ
そりゃ灘の入試レベルならその通りだろうけど数オリで正解率1割切ってたような問題なんだから計算機使ったアプローチしてみるのもプログラミングのお題としては面白いだろ
それともなんだ、円周率の計算だってペンと紙でできるんだから無駄だっていうのか?w
そんな極論言うレベルの頭だから数学もできないんだよw
そりゃ灘の入試レベルならその通りだろうけど数オリで正解率1割切ってたような問題なんだから計算機使ったアプローチしてみるのもプログラミングのお題としては面白いだろ
それともなんだ、円周率の計算だってペンと紙でできるんだから無駄だっていうのか?w
そんな極論言うレベルの頭だから数学もできないんだよw
666デフォルトの名無しさん
2018/07/26(木) 11:36:12.38ID:64IGnOgv そういう無駄に一般化した話も結構だけど、
個別具体的な話として>>597は計算機を併用することに効果が無いから数学の問題だと言ってるんだよ。
2018を解けるほど効率化できるなら既に人力で解けているだろうからね。
個別具体的な話として>>597は計算機を併用することに効果が無いから数学の問題だと言ってるんだよ。
2018を解けるほど効率化できるなら既に人力で解けているだろうからね。
667デフォルトの名無しさん
2018/07/26(木) 13:48:16.24ID:YvrMO5FL それは総当たり以外にうまい方法が思い浮かばないから言えるだけでしょうよ。
あと素数判定アルゴリズムなんか考えればわかるけど、効率化できることと人力で解けることに相関はないぞ。
少なくともスレチではないと思うよ。
あと素数判定アルゴリズムなんか考えればわかるけど、効率化できることと人力で解けることに相関はないぞ。
少なくともスレチではないと思うよ。
668デフォルトの名無しさん
2018/07/26(木) 14:31:11.72ID:v+At+/4W 部外者だが
嫌なら回答しなきゃいいだけなのに
何文句言ってるの?
って感じ
嫌なら回答しなきゃいいだけなのに
何文句言ってるの?
って感じ
669デフォルトの名無しさん
2018/07/26(木) 15:16:02.44ID:b54Sk8mu そんなことより野球のはなししようぜ!嫌なら無視すりゃいいだけ。
670デフォルトの名無しさん
2018/07/26(木) 15:40:53.67ID:7rDxwdj1 さすがにそれはスレチ
671デフォルトの名無しさん
2018/07/26(木) 20:25:33.46ID:wiCSHgxo672デフォルトの名無しさん
2018/07/27(金) 00:30:20.41ID:1FlI+KkW 作るのは無理な気がするがよーわからん
一番大きい数値 1+2+…2018 = 2037171 は差の絶対値で作れないので最下段確定
一番大きい数値を出来るだけ上段に伝搬させるために小さい数値(1~2017)と組み合わせていっても最上段に残るのは 2018
→ 2019 以上と組み合わせると 2017 未満の数値がダブる
最下段で 2037171 と 1 を組み合わせた場合、 2037169 も最下段に設置する必要がある
2037169 は 1~2018 の大部分と組み合わせられないので上のほうまで伝搬できずにアウト
一番大きい数値 1+2+…2018 = 2037171 は差の絶対値で作れないので最下段確定
一番大きい数値を出来るだけ上段に伝搬させるために小さい数値(1~2017)と組み合わせていっても最上段に残るのは 2018
→ 2019 以上と組み合わせると 2017 未満の数値がダブる
最下段で 2037171 と 1 を組み合わせた場合、 2037169 も最下段に設置する必要がある
2037169 は 1~2018 の大部分と組み合わせられないので上のほうまで伝搬できずにアウト
673デフォルトの名無しさん
2018/07/27(金) 01:35:56.64ID:DQ/IIgai その長々とした理屈は2018が7でも6でも同様のことが言えるよね
そして7や6には解がある
そして7や6には解がある
674デフォルトの名無しさん
2018/07/27(金) 01:42:27.70ID:1FlI+KkW675デフォルトの名無しさん
2018/07/27(金) 02:06:17.44ID:DQ/IIgai ないのかごめん
でも5でも同じことは言えるような
でも5でも同じことは言えるような
676デフォルトの名無しさん
2018/07/27(金) 04:54:59.02ID:1FlI+KkW 5以下の場合は数字が足りなくなる前に最大値からの流れに合流出来てるんじゃね?
677デフォルトの名無しさん
2018/07/27(金) 07:39:19.67ID:9MbN0qgs678デフォルトの名無しさん
2018/07/27(金) 07:52:55.93ID:2v1r+MgC 数オリ経験者、東大数学科卒だけど
今度挑戦してみるか
今度挑戦してみるか
679デフォルトの名無しさん
2018/07/27(金) 18:20:03.99ID:KWveLgZ0680デフォルトの名無しさん
2018/07/27(金) 19:00:06.01ID:2ZGMtSH+681デフォルトの名無しさん
2018/07/27(金) 19:20:13.92ID:KWveLgZ0 ご自由にどうぞ
682デフォルトの名無しさん
2018/07/27(金) 20:32:22.83ID:2Zd5WnL8 難しそうだが良いお題だな
こういうお題を考えられるようになりたい
こういうお題を考えられるようになりたい
683デフォルトの名無しさん
2018/07/28(土) 12:28:46.99ID:SHZi2qln まずは数学から入るか
中心つき六角数 - Wikipedia
ttps://ja.wikipedia.org/wiki/%E4%B8%AD%E5%BF%83%E3%81%A4%E3%81%8D%E5%85%AD%E8%A7%92%E6%95%B0
中心つき六角数 - Wikipedia
ttps://ja.wikipedia.org/wiki/%E4%B8%AD%E5%BF%83%E3%81%A4%E3%81%8D%E5%85%AD%E8%A7%92%E6%95%B0
684デフォルトの名無しさん
2018/07/29(日) 08:56:47.82ID:ngHwAmGC >>680
nの大きさに合わせて-の数を決めれば、歪にならないと思うよ。
nの大きさに合わせて-の数を決めれば、歪にならないと思うよ。
685597
2018/07/29(日) 11:00:51.11ID:g8Q1VsuY686デフォルトの名無しさん
2018/07/29(日) 13:36:35.25ID:MuGsWv1+687デフォルトの名無しさん
2018/07/29(日) 17:52:03.38ID:uE0dE1bw 出題者は自分で書けるのを一度確認してから出題してほしいわ
688デフォルトの名無しさん
2018/08/01(水) 15:14:43.83ID:2n7XGxji お題:パソコンのCPU温度を表示せよ
689デフォルトの名無しさん
2018/08/01(水) 15:31:54.60ID:3rDDnIHy ちょっと待ってね。温度計持ってくるから。
690デフォルトの名無しさん
2018/08/01(水) 19:12:40.95ID:hJYNlAh1 >>688 BF
+>+<-][+[->+[+>-<]<]<+[>+[.>]-]-]
+>+<-][+[->+[+>-<]<]<+[>+[.>]-]-]
691デフォルトの名無しさん
2018/08/01(水) 20:57:33.89ID:WDXOLOCv692デフォルトの名無しさん
2018/08/02(木) 00:18:21.78ID:vClc7nAi >>688
awk
Linux 用
awk '{printf "%.3f℃n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
実行例
56.000℃
awk
Linux 用
awk '{printf "%.3f℃n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
実行例
56.000℃
693デフォルトの名無しさん
2018/08/02(木) 01:04:29.34ID:vClc7nAi あれ?\n が抜けた。
これね。
awk '{printf "%.3f℃\n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
これね。
awk '{printf "%.3f℃\n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
694デフォルトの名無しさん
2018/08/02(木) 02:37:36.98ID:aTwsiZBG695デフォルトの名無しさん
2018/08/02(木) 19:31:00.50ID:zwgkA1lD 8888
696デフォルトの名無しさん
2018/08/10(金) 02:32:41.77ID:3Gbr2Rmh 鈴木貫太郎
灘中 中学入試問題シリーズ 整数問題
https://youtu.be/98U2qVDQltc
6桁の整数、5AB,C15 が999 の倍数である時、ABC を求めよ
答え
A=8, B=4, C=4
灘中 中学入試問題シリーズ 整数問題
https://youtu.be/98U2qVDQltc
6桁の整数、5AB,C15 が999 の倍数である時、ABC を求めよ
答え
A=8, B=4, C=4
697デフォルトの名無しさん
2018/08/10(金) 02:38:30.89ID:4W08/YUW 数学板でやれ
698デフォルトの名無しさん
2018/08/10(金) 04:25:49.65ID:MBG3l1c9699デフォルトの名無しさん
2018/08/10(金) 04:27:27.01ID:MBG3l1c9 お題:与えられた正の整数nを2進数〜16進数に変換して表示する。
11進数以降の10以上を表す文字はABCDEFを使用。
(10=A, 11=B, 12=C, 13=D, 14=E, 15=F)
例:12進数の11 ---> B
出力例:
n=123456
base(2) ---> 11110001001000000
base(3) ---> 20021100110
base(4) ---> 132021000
base(5) ---> 12422311
base(6) ---> 2351320
base(7) ---> 1022634
base(8) ---> 361100
base(9) ---> 207313
base(10) ---> 123456
base(11) ---> 84833
base(12) ---> 5B540
base(13) ---> 44268
base(14) ---> 32DC4
base(15) ---> 268A6
base(16) ---> 1E240
11進数以降の10以上を表す文字はABCDEFを使用。
(10=A, 11=B, 12=C, 13=D, 14=E, 15=F)
例:12進数の11 ---> B
出力例:
n=123456
base(2) ---> 11110001001000000
base(3) ---> 20021100110
base(4) ---> 132021000
base(5) ---> 12422311
base(6) ---> 2351320
base(7) ---> 1022634
base(8) ---> 361100
base(9) ---> 207313
base(10) ---> 123456
base(11) ---> 84833
base(12) ---> 5B540
base(13) ---> 44268
base(14) ---> 32DC4
base(15) ---> 268A6
base(16) ---> 1E240
701デフォルトの名無しさん
2018/08/10(金) 10:02:14.32ID:GIxLf6/p702デフォルトの名無しさん
2018/08/10(金) 10:56:59.12ID:EBuB6o8O >>696
何も考えてないPerlのワンライナー
perl -e 'for(0..999){$n=sprintf"5%03d15",$_;if($n%999==0){print"$n\n"}}'
584415
何も考えてないPerlのワンライナー
perl -e 'for(0..999){$n=sprintf"5%03d15",$_;if($n%999==0){print"$n\n"}}'
584415
703デフォルトの名無しさん
2018/08/10(金) 11:16:24.27ID:EBuB6o8O >>699
Linux等で動くGNUのbcコマンド
プログラムをファイルに入れておいてbcの引数で指定し、変換させたい数値は標準入力から読ませる。
ibase = 10
n = read()
for (i = 2; i <= 16; i++) {
obase = 10
print "base(", i, ") --> "
obase = i
print n, "\n"
}
Linux等で動くGNUのbcコマンド
プログラムをファイルに入れておいてbcの引数で指定し、変換させたい数値は標準入力から読ませる。
ibase = 10
n = read()
for (i = 2; i <= 16; i++) {
obase = 10
print "base(", i, ") --> "
obase = i
print n, "\n"
}
704デフォルトの名無しさん
2018/08/10(金) 11:38:51.00ID:EBuB6o8O705デフォルトの名無しさん
2018/08/10(金) 14:15:41.82ID:xmypHVHY706デフォルトの名無しさん
2018/08/10(金) 14:48:17.70ID:MBG3l1c9 >>700
既出でしたか 失礼しました
では追加でもう1つ
お題:
時間を表わす文字列(hh:mm:ss形式の8文字)の秒数を求める
最上位の時間だけは99時間を超えた場合拡張される
例:123時間45分6秒 ---> 123:45:06
出力例:
01:23:45 = 5025 sec
333:33:33 = 1200813 sec
出題者の回答例:C言語 https://ideone.com/pnrcQ6
既出でしたか 失礼しました
では追加でもう1つ
お題:
時間を表わす文字列(hh:mm:ss形式の8文字)の秒数を求める
最上位の時間だけは99時間を超えた場合拡張される
例:123時間45分6秒 ---> 123:45:06
出力例:
01:23:45 = 5025 sec
333:33:33 = 1200813 sec
出題者の回答例:C言語 https://ideone.com/pnrcQ6
707デフォルトの名無しさん
2018/08/10(金) 17:50:01.60ID:q2LOavXt708デフォルトの名無しさん
2018/08/10(金) 17:57:07.00ID:q2LOavXt709デフォルトの名無しさん
2018/08/10(金) 18:25:42.14ID:q2LOavXt710デフォルトの名無しさん
2018/08/10(金) 18:30:15.99ID:GIxLf6/p >>706 Ruby ゴルフ気分で
#!ruby -palF:
$_='%d sec'%(0..2).map{|i|$F[~i].to_i*60**i}.sum
# input
01:23:45
333:33:33
# output
5025 sec
1200813 sec
#!ruby -palF:
$_='%d sec'%(0..2).map{|i|$F[~i].to_i*60**i}.sum
# input
01:23:45
333:33:33
# output
5025 sec
1200813 sec
711デフォルトの名無しさん
2018/08/10(金) 18:40:53.56ID:splKqZqj712709
2018/08/10(金) 19:22:50.97ID:q2LOavXt >>711
あ、そうか。その方が簡単だな。
あ、そうか。その方が簡単だな。
お題:10兆までの素数のリストを作ってみませんか?
https://tech.nikkeibp.co.jp/it/article/Watcher/20100519/348242/
条件:既存のライブラリ、モジュール、外部コマンド等を利用するのは不可
すべて自分で記述すること
int64_t, uint64_t の使用は許可する
https://tech.nikkeibp.co.jp/it/article/Watcher/20100519/348242/
条件:既存のライブラリ、モジュール、外部コマンド等を利用するのは不可
すべて自分で記述すること
int64_t, uint64_t の使用は許可する
714デフォルトの名無しさん
2018/08/11(土) 00:01:26.30ID:DgZEeL87 Ruby では百万までで、処理に数秒掛かって、78,498個の素数があった
class PrimeNumber # 素数
def initialize (to = 20)
@to = to
@prime_numbers = []
end
def add_table (n)
limit = Math.sqrt(n).ceil
@prime_numbers.each do |prime_num|
# 割り切れたら、素数ではない
return if n % prime_num == 0
# sqrt より大きいなら、確かめずとも素数である
break if limit < prime_num
end
@prime_numbers.push n # 割り切れない
end
def print
(2..@to).each do |n|
add_table n
end
puts @prime_numbers.length
end
end
class PrimeNumber # 素数
def initialize (to = 20)
@to = to
@prime_numbers = []
end
def add_table (n)
limit = Math.sqrt(n).ceil
@prime_numbers.each do |prime_num|
# 割り切れたら、素数ではない
return if n % prime_num == 0
# sqrt より大きいなら、確かめずとも素数である
break if limit < prime_num
end
@prime_numbers.push n # 割り切れない
end
def print
(2..@to).each do |n|
add_table n
end
puts @prime_numbers.length
end
end
715デフォルトの名無しさん
2018/08/11(土) 02:38:16.74ID:7kLiHGgf >>713
perl
一応これで理屈の上ではできるとは思うんだが、477577まで行ったところでアホらしくなって止めたw
#!/usr/bin/perl
use strict;
use warnings;
my @pn = (2);
my $n = 1;
print "$n: $pn[0]\n";
$n++;
LOOP:
for (my $i = 3; $i <= 10000000000000; $i += 2) {
for (@pn) {
next LOOP unless ($i % $_);
}
push(@pn, $i);
print "$n: $i\n";
$n++;
}
perl
一応これで理屈の上ではできるとは思うんだが、477577まで行ったところでアホらしくなって止めたw
#!/usr/bin/perl
use strict;
use warnings;
my @pn = (2);
my $n = 1;
print "$n: $pn[0]\n";
$n++;
LOOP:
for (my $i = 3; $i <= 10000000000000; $i += 2) {
for (@pn) {
next LOOP unless ($i % $_);
}
push(@pn, $i);
print "$n: $i\n";
$n++;
}
716デフォルトの名無しさん
2018/08/11(土) 03:54:44.08ID:QfTJwHhj >>713 Ruby
10兆なら改良されたAtkinの篩を使ってガシガシやるしかないだろう
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.192.4926&rep=rep1&type=pdf
sup = 10**7
primes = [2, 3]
5.step(sup, 6){|i|
2.times{
primes << i if primes.none?{|pr| break true if pr*pr > i; i % pr == 0}
i += 2
}
}
primes.pop if primes[-1] > sup
p primes.size #=> 664579
10兆なら改良されたAtkinの篩を使ってガシガシやるしかないだろう
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.192.4926&rep=rep1&type=pdf
sup = 10**7
primes = [2, 3]
5.step(sup, 6){|i|
2.times{
primes << i if primes.none?{|pr| break true if pr*pr > i; i % pr == 0}
i += 2
}
}
primes.pop if primes[-1] > sup
p primes.size #=> 664579
717デフォルトの名無しさん
2018/08/11(土) 07:04:06.66ID:N9ICkOCi718デフォルトの名無しさん
2018/08/11(土) 07:37:04.51ID:N9ICkOCi みつかりました
そんなに昔じゃなかった
2年半前
41兆くらいまで求めてます
マルチスレッドではありませんでした
処理内容はよく覚えていません
素数表作成
ビットパターン作成
ふるい
のようなコメントがあります
105単位でなにかやってます
そんなに昔じゃなかった
2年半前
41兆くらいまで求めてます
マルチスレッドではありませんでした
処理内容はよく覚えていません
素数表作成
ビットパターン作成
ふるい
のようなコメントがあります
105単位でなにかやってます
719デフォルトの名無しさん
2018/08/11(土) 09:37:18.90ID:y6G1YdWM だんだん思い出してきました
6n+1, 6n+5 に対応するビット列を保持
小さな素数の倍数はマスクを作ってAVX命令でANDしていって
大きな素数の倍数はp(210n+48個の値) にしぼって
ビット命令でひたすらふるう感じ
キャッシュサイズを考えて小さなバッファでやってます
6n+1, 6n+5 に対応するビット列を保持
小さな素数の倍数はマスクを作ってAVX命令でANDしていって
大きな素数の倍数はp(210n+48個の値) にしぼって
ビット命令でひたすらふるう感じ
キャッシュサイズを考えて小さなバッファでやってます
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 宇宙飛行士 vs 超天才数学者
