プログラミングのお題スレです。
【出題と回答例】
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/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part15
http://mevius.5ch.net/test/read.cgi/tech/1564310397/
探検
プログラミングのお題スレ Part16
■ このスレッドは過去ログ倉庫に格納されています
2019/11/17(日) 09:00:22.10ID:xqEdXdr6
198デフォルトの名無しさん
2019/12/09(月) 21:20:18.06ID:QbXWD96q int prime[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,91};
199デフォルトの名無しさん
2019/12/09(月) 21:22:25.12ID:QbXWD96q 91じゃなかった
202デフォルトの名無しさん
2019/12/09(月) 22:42:10.29ID:QbXWD96q ふるいで5000以下の素数を求めて
2重ループで列挙
が速いかな
2重ループで列挙
が速いかな
203デフォルトの名無しさん
2019/12/09(月) 22:48:18.91ID:l5WymCFL204デフォルトの名無しさん
2019/12/10(火) 06:55:28.37ID:cIwr+d9F205デフォルトの名無しさん
2019/12/10(火) 07:06:32.14ID:qBy9puuu 問題の一区分である素数判定、並びに範囲内の素数列挙するコード
https://ideone.com/fGT115
~/bin/is_prime.exe 2 10000
とやれば1万までの素数が列挙され、
~/bin/is_prime.exe 2017
と1つ引数与えればそれだけ判定
引数無いとURLの用にOFする限界付近まで全部
1万までの素数出して、それパイプで処理したら楽かなと思った
https://ideone.com/fGT115
~/bin/is_prime.exe 2 10000
とやれば1万までの素数が列挙され、
~/bin/is_prime.exe 2017
と1つ引数与えればそれだけ判定
引数無いとURLの用にOFする限界付近まで全部
1万までの素数出して、それパイプで処理したら楽かなと思った
206デフォルトの名無しさん
2019/12/10(火) 08:49:47.69ID:92MPgAr5 5000までの素数で十分だって言ってるのに
207デフォルトの名無しさん
2019/12/10(火) 09:32:39.88ID:WOcT9SPT >>197
お題:このお題の回答を論理式で表すとどうなるでしょうか。
お題:このお題の回答を論理式で表すとどうなるでしょうか。
208デフォルトの名無しさん
2019/12/10(火) 09:53:12.04ID:gKYhlG5V >>207
それはプログラミングのお題なのか?
それはプログラミングのお題なのか?
209デフォルトの名無しさん
2019/12/10(火) 13:07:12.61ID:bINIS1ks また数(ry
210デフォルトの名無しさん
2019/12/10(火) 13:10:37.69ID:FDwwVytW 出題者はいろんな言語の表記方法を知りたいだけか?
数学やアルゴリズム的には全然おもしろくないのばかり
数学やアルゴリズム的には全然おもしろくないのばかり
211デフォルトの名無しさん
2019/12/10(火) 15:09:39.15ID:zIz8I18p212デフォルトの名無しさん
2019/12/10(火) 15:15:40.70ID:zIz8I18p213デフォルトの名無しさん
2019/12/10(火) 16:37:43.07ID:hI+yeapE214デフォルトの名無しさん
2019/12/10(火) 17:22:00.22ID:Ajx0JUvY 過去スレからお題引っ張りたいんだけど、有料会員じゃないからむりぽ
215デフォルトの名無しさん
2019/12/10(火) 17:45:48.68ID:qBy9puuu 2chscとかいうのが無料サルベージに向いていると聞いたことがある
216デフォルトの名無しさん
2019/12/10(火) 17:47:09.91ID:ClyY78bX >>214
普通のブラウザで見ても出ないんだっけ?
普通のブラウザで見ても出ないんだっけ?
217デフォルトの名無しさん
2019/12/10(火) 18:57:11.15ID:W3sLZ8lM218デフォルトの名無しさん
2019/12/10(火) 19:01:43.67ID:W3sLZ8lM 過去の良問があればおしえろください
219デフォルトの名無しさん
2019/12/10(火) 19:30:15.36ID:Ajx0JUvY >>216
見れた( ゚Д゚)
見れた( ゚Д゚)
220デフォルトの名無しさん
2019/12/10(火) 20:07:19.37ID:ClyY78bX221デフォルトの名無しさん
2019/12/10(火) 20:25:27.92ID:6QYDHDQi じゃあ四角形を全部違う大きさの円で埋める
222デフォルトの名無しさん
2019/12/10(火) 21:05:07.05ID:0RQ6ozIG >>207
答えは高々有限個の整数でしかないんだから論理式にはならない
答えは高々有限個の整数でしかないんだから論理式にはならない
223デフォルトの名無しさん
2019/12/10(火) 22:54:03.68ID:ZImsJVBi >>210
まあ、そんな所だね。このスレは競技プログラミングじゃないから、アルゴリズムや
パフォーマンスの追求よりは、各自が使う言語で楽な書き方ができるのを披露する方が多い。
>>203も可変長ベクトルへの再代入の繰り返しという非効率なことをやっているが、
自前のforループ不要で簡潔に書けるし、篩い落とす操作を忠実に表してもいる。
昔と違ってこれでも実用な速度で動くので、色々な書き方ができるようになった。
C#, Julia, PowerShellでも類似の書き方ができる(>>206の通り素数は5000までにした)。
C# https://ideone.com/YWc3f8
Julia https://ideone.com/8NdOe3
PowerShell https://ideone.com/DRoOMU
R https://ideone.com/34lnNQ
C#のstatic void Main()の中だけを抜き出したC#スクリプトも作って、それぞれの実行時間を
PowerShellの
measure-command {semiprime.exe}
measure-command {csi semiprime.csx}
measure-command {julia semiprime.jl}
measure-command {semiprime.ps1}
measure-command {rscript semiprime.R}
で計測すると、C#を1倍として、R 3.40倍、C#スクリプト 10.1倍、Julia 16.6倍、
PowerShell 199倍となった。PowerShellだけは延々と待たされ実用的でない。
他の4つはすぐに終わるが、右へ行くほどややもたつく。Rは遅いと言われているが、
スクリプト言語の中ではかなり速い。
まあ、そんな所だね。このスレは競技プログラミングじゃないから、アルゴリズムや
パフォーマンスの追求よりは、各自が使う言語で楽な書き方ができるのを披露する方が多い。
>>203も可変長ベクトルへの再代入の繰り返しという非効率なことをやっているが、
自前のforループ不要で簡潔に書けるし、篩い落とす操作を忠実に表してもいる。
昔と違ってこれでも実用な速度で動くので、色々な書き方ができるようになった。
C#, Julia, PowerShellでも類似の書き方ができる(>>206の通り素数は5000までにした)。
C# https://ideone.com/YWc3f8
Julia https://ideone.com/8NdOe3
PowerShell https://ideone.com/DRoOMU
R https://ideone.com/34lnNQ
C#のstatic void Main()の中だけを抜き出したC#スクリプトも作って、それぞれの実行時間を
PowerShellの
measure-command {semiprime.exe}
measure-command {csi semiprime.csx}
measure-command {julia semiprime.jl}
measure-command {semiprime.ps1}
measure-command {rscript semiprime.R}
で計測すると、C#を1倍として、R 3.40倍、C#スクリプト 10.1倍、Julia 16.6倍、
PowerShell 199倍となった。PowerShellだけは延々と待たされ実用的でない。
他の4つはすぐに終わるが、右へ行くほどややもたつく。Rは遅いと言われているが、
スクリプト言語の中ではかなり速い。
224デフォルトの名無しさん
2019/12/10(火) 22:54:55.70ID:ZImsJVBi >>217
じゃあ、これ解いてみる?
整数x, y, z, kに関する方程式x^3 + y^3 + z^3 = kの解を、k = 1から100までの場合について求めよ。
https://engineer.fabcross.jp/archeive/190921_charity-engine.html
じゃあ、これ解いてみる?
整数x, y, z, kに関する方程式x^3 + y^3 + z^3 = kの解を、k = 1から100までの場合について求めよ。
https://engineer.fabcross.jp/archeive/190921_charity-engine.html
225デフォルトの名無しさん
2019/12/10(火) 23:25:26.63ID:qBy9puuu k = 64, z = 4の時
任意の整数 を+-反転した組が x,yの解であり、その個数は無限
任意の整数 を+-反転した組が x,yの解であり、その個数は無限
226デフォルトの名無しさん
2019/12/10(火) 23:27:52.24ID:W3sLZ8lM なぜ
k=1, z=1
じゃない?
k=1, z=1
じゃない?
227デフォルトの名無しさん
2019/12/10(火) 23:47:24.77ID:qBy9puuu あとから追加されそうな条件の
仮に全部0以上の整数とした時に
5*5*5>125,100>4*4*4のメモ代り
仮に全部0以上の整数とした時に
5*5*5>125,100>4*4*4のメモ代り
228デフォルトの名無しさん
2019/12/10(火) 23:59:19.26ID:RjwvfByt k=1から100のどれかに対してじゃなくて、
k=1から100のそれぞれすべてに対して求めるんじゃろ…
k=1から100のそれぞれすべてに対して求めるんじゃろ…
229デフォルトの名無しさん
2019/12/11(水) 00:11:02.49ID:10jfhd7e230デフォルトの名無しさん
2019/12/11(水) 00:13:04.91ID:10jfhd7e C#の10000以下より速い!
231デフォルトの名無しさん
2019/12/11(水) 00:30:48.20ID:10jfhd7e >>224
k=1の時からいきなり難しいなあ
k=1の時からいきなり難しいなあ
232デフォルトの名無しさん
2019/12/11(水) 00:40:32.37ID:10jfhd7e233デフォルトの名無しさん
2019/12/11(水) 09:11:06.45ID:aadkbL3F234デフォルトの名無しさん
2019/12/11(水) 09:24:12.51ID:ztpKOEip >>233
awkのとここれどういう意味?わたし女騎士だけど教えて!
awkのとここれどういう意味?わたし女騎士だけど教えて!
235デフォルトの名無しさん
2019/12/11(水) 10:31:05.38ID:dG8VWZ74 >>234
女騎士?
まあいいや。NFが3になる行だけ出力するんだよ。NFはフィールド数ね。
区切り文字がデフォルトのままだと空白文字で区切った時の個数。例えば行に a b c って入ってたら 3 になる。
女騎士?
まあいいや。NFが3になる行だけ出力するんだよ。NFはフィールド数ね。
区切り文字がデフォルトのままだと空白文字で区切った時の個数。例えば行に a b c って入ってたら 3 になる。
236デフォルトの名無しさん
2019/12/11(水) 12:05:48.97ID:dG8VWZ74237デフォルトの名無しさん
2019/12/11(水) 13:38:08.03ID:ivhCTlPt238デフォルトの名無しさん
2019/12/11(水) 13:42:56.98ID:QbvBtpFM239デフォルトの名無しさん
2019/12/11(水) 14:03:27.78ID:jagg9gKF 普通にできたけど
何のシェル使ってるの?
何のシェル使ってるの?
240デフォルトの名無しさん
2019/12/11(水) 14:35:31.47ID:QbvBtpFM bash。macで。
241デフォルトの名無しさん
2019/12/11(水) 14:38:38.09ID:jagg9gKF 俺もbashもだけど
seq 100くらいなら動くの?
seq 100くらいなら動くの?
242デフォルトの名無しさん
2019/12/11(水) 15:36:13.32ID:QbvBtpFM $ seq 3 | factor で止めてawk飛ばすと以下の出力です。
Factor 0.98 x86.64 (1886, heads/master-211d69561a, Jul 2 2018 17:46:19)
[Clang (GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.29))] on macosx
IN: scratchpad
--- Data stack:
1
IN: scratchpad
--- Data stack:
1
2
IN: scratchpad
--- Data stack:
1
2
3
IN: scratchpad
Factor 0.98 x86.64 (1886, heads/master-211d69561a, Jul 2 2018 17:46:19)
[Clang (GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.29))] on macosx
IN: scratchpad
--- Data stack:
1
IN: scratchpad
--- Data stack:
1
2
IN: scratchpad
--- Data stack:
1
2
3
IN: scratchpad
243デフォルトの名無しさん
2019/12/11(水) 16:49:11.52ID:1E1+DBtw244デフォルトの名無しさん
2019/12/11(水) 17:02:16.44ID:hUZCfnLs factorみりゃわかんだろ……
素因数の数だっつーの
素因数の数だっつーの
245デフォルトの名無しさん
2019/12/11(水) 18:01:04.84ID:10jfhd7e 素因数の数が3?
246デフォルトの名無しさん
2019/12/11(水) 18:12:47.35ID:ivhCTlPt こんな具合だろ
seq 100 | ~/bin/factorization.pl| awk -F, "NF==2" | ~/bin/align.pl "=" 4 2,2
6 2,3
9 3,3
10 2,5
14 2,7
......
9995 5,1999
9997 13,769
9998 2,4999
seq 100 | ~/bin/factorization.pl| awk -F, "NF==2" | ~/bin/align.pl "=" 4 2,2
6 2,3
9 3,3
10 2,5
14 2,7
......
9995 5,1999
9997 13,769
9998 2,4999
247デフォルトの名無しさん
2019/12/11(水) 19:33:15.23ID:ReYSFEXH249デフォルトの名無しさん
2019/12/11(水) 20:44:53.42ID:WjX/lCwK QZがそういうなら合ってるんじゃないの?
250デフォルトの名無しさん
2019/12/11(水) 20:51:31.74ID:7CYZ1E2N 反面教師?
251デフォルトの名無しさん
2019/12/11(水) 20:54:12.94ID:7CYZ1E2N お題
1兆以下の半素数の個数を求めよ
これだとスクリプト系は無理かな?
1兆以下の半素数の個数を求めよ
これだとスクリプト系は無理かな?
252デフォルトの名無しさん
2019/12/11(水) 21:07:14.36ID:ivhCTlPt 素数判定で書いた
long long int のC言語でも100億ぐらいを上限でサポートしてる
100億以上の判定は遅くてより優れた判定アルゴリズムが必要だからだ
推定:C系、優れた判定、現代スペックのPCが必要
long long int のC言語でも100億ぐらいを上限でサポートしてる
100億以上の判定は遅くてより優れた判定アルゴリズムが必要だからだ
推定:C系、優れた判定、現代スペックのPCが必要
253デフォルトの名無しさん
2019/12/11(水) 21:11:52.35ID:7CYZ1E2N 素数判定する必要は無いよ
>>252
>long long int のC言語でも100億ぐらいを上限でサポートしてる
極めて不正確ですよ
C99 後は uint64_t の最大値は 1844'6744'0737'0955'1615=約 1844 京ですね
それに実際に割ってみる方法以外には素数判定があるとでも?そんなものは存在しませんね
>long long int のC言語でも100億ぐらいを上限でサポートしてる
極めて不正確ですよ
C99 後は uint64_t の最大値は 1844'6744'0737'0955'1615=約 1844 京ですね
それに実際に割ってみる方法以外には素数判定があるとでも?そんなものは存在しませんね
255デフォルトの名無しさん
2019/12/11(水) 22:15:54.42ID:10jfhd7e256デフォルトの名無しさん
2019/12/11(水) 22:46:17.34ID:10jfhd7e257デフォルトの名無しさん
2019/12/11(水) 23:52:51.14ID:VagVWTF0 知り合いから、「子供の宿題なんだけど解けない」と言われた。
「正方形13枚と正三角形を何枚か組み合わせて、凸多面体を作るとき、その頂点数は A 個または B 個である。ただし一つの頂点には同じ枚数の面が集まっているものとし、A < B とする。」
途中経過を適宜表記しつつ解くプログラムを!
「正方形13枚と正三角形を何枚か組み合わせて、凸多面体を作るとき、その頂点数は A 個または B 個である。ただし一つの頂点には同じ枚数の面が集まっているものとし、A < B とする。」
途中経過を適宜表記しつつ解くプログラムを!
258デフォルトの名無しさん
2019/12/12(木) 00:28:15.32ID:UvCIGzud A=19
B=38
B=38
259デフォルトの名無しさん
2019/12/12(木) 00:32:27.86ID:UvCIGzud260デフォルトの名無しさん
2019/12/12(木) 00:35:14.01ID:UvCIGzud 7個になるまで9秒
3乗して64bitに収まる範囲検索2031秒
3乗して64bitに収まる範囲検索2031秒
261デフォルトの名無しさん
2019/12/12(木) 00:42:16.14ID:UvCIGzud262デフォルトの名無しさん
2019/12/12(木) 00:44:42.94ID:UvCIGzud k=30, 33, 42, 52, 74, 75, 84
の時がわからん
の時がわからん
263デフォルトの名無しさん
2019/12/12(木) 06:06:40.97ID:wmbGd8tm264デフォルトの名無しさん
2019/12/12(木) 07:32:31.88ID:UvCIGzud265デフォルトの名無しさん
2019/12/12(木) 07:40:34.14ID:UvCIGzud266デフォルトの名無しさん
2019/12/12(木) 07:48:51.75ID:wmbGd8tm >>265
お前も馬鹿だな
簡単な関数で f が定義できるならそれはそのまま簡単な計算で素数判定ができることに他ならない
こちらはそんな方法が存在するといっているわけではなく、無配慮にそんなものは存在しないと一刀両断する数学的リテラシーの無さを指摘しているだけなんだが
お前も馬鹿だな
簡単な関数で f が定義できるならそれはそのまま簡単な計算で素数判定ができることに他ならない
こちらはそんな方法が存在するといっているわけではなく、無配慮にそんなものは存在しないと一刀両断する数学的リテラシーの無さを指摘しているだけなんだが
267デフォルトの名無しさん
2019/12/12(木) 08:00:21.80ID:UvCIGzud >>263
「簡単な関数でfが定義できる」
非常に重要な言葉を後付けだし
これが最初からあったとしても、
単に簡単に素数判定可能可能を言い換えただけの
何の意味もないレス
リテラシーの無さの指摘の方法が頭が悪い
「簡単な関数でfが定義できる」
非常に重要な言葉を後付けだし
これが最初からあったとしても、
単に簡単に素数判定可能可能を言い換えただけの
何の意味もないレス
リテラシーの無さの指摘の方法が頭が悪い
268デフォルトの名無しさん
2019/12/12(木) 08:08:21.73ID:UvCIGzud 現代の技術で言えば
特殊な形であれば高速に判定する方法はある
特殊な形でなければ高速に判定する方法は見つかっていない
実際に割ってみる以外の判別方法は存在する
特殊な形であれば高速に判定する方法はある
特殊な形でなければ高速に判定する方法は見つかっていない
実際に割ってみる以外の判別方法は存在する
269デフォルトの名無しさん
2019/12/12(木) 08:25:56.28ID:UvCIGzud なんでNやZじゃなくてRにしたのか気になる
270デフォルトの名無しさん
2019/12/12(木) 12:56:52.27ID:wmbGd8tm 文脈無視して揚げ足取ってて草
こいつ関数は全射しか存在しないとでも思ってんのか
こいつ関数は全射しか存在しないとでも思ってんのか
271デフォルトの名無しさん
2019/12/12(木) 14:55:31.47ID:2PtCb74v 単純な疑問だよ
なんかこだわりとか深い意味とかあるのかと
「実数が素である」とか書かれると、
素数じゃない別の意味を指してると思うわけで
揚げ足取られたと思ったってことは
ミスったと思ったんだよね?
なんかこだわりとか深い意味とかあるのかと
「実数が素である」とか書かれると、
素数じゃない別の意味を指してると思うわけで
揚げ足取られたと思ったってことは
ミスったと思ったんだよね?
272デフォルトの名無しさん
2019/12/12(木) 15:35:29.90ID:zRSUYply いつもの連投アスペ君じゃん
相手すんなよ
相手すんなよ
273デフォルトの名無しさん
2019/12/12(木) 17:58:27.01ID:2C/x7O5N 論破されて捨て台詞
の典型でした
の典型でした
274デフォルトの名無しさん
2019/12/12(木) 18:19:15.31ID:RcQND7/k 5chリテラシーが低いやつもだいぶ減ってはきてるが
このスレはちょいちょい出てくるよなぁ
このスレはちょいちょい出てくるよなぁ
275デフォルトの名無しさん
2019/12/12(木) 18:27:18.35ID:cffvEFbc >>263を書いておいて良くいうよ
276デフォルトの名無しさん
2019/12/12(木) 18:39:51.55ID:JPTMcftT 論破を禁止します
277デフォルトの名無しさん
2019/12/12(木) 19:05:41.21ID:f2lx0DlC まーたロンパンジーが湧いてんのかよ
278デフォルトの名無しさん
2019/12/12(木) 19:12:35.43ID:cffvEFbc リテラシー君
よほど悔しかったのかな?
よほど悔しかったのかな?
>>256
単に上限値を増やしただけのお題なんて糞だと思います
単に上限値を増やしただけのお題なんて糞だと思います
281デフォルトの名無しさん
2019/12/12(木) 19:18:20.83ID:cffvEFbc282デフォルトの名無しさん
2019/12/12(木) 20:55:40.30ID:uIjgN9ep お題:
(A) 階乗の下z桁がすべて0となるような最小の自然数を、z = 1, 12, 123, 1234, 12345,
123456, 1234567, 12345678, 123456789の各場合について求めよ。存在しないときは
そう表示せよ。
(B) (A)の「下z桁がすべて0となる」という条件を「0である桁がz個となる」に置き換えて解け。
(A)はちょっと考えれば簡単に解ける。(B)はどうか知らない。多桁整数計算ができるJuliaでは
z = 12345までは力任せでも求められたが。
(A) 階乗の下z桁がすべて0となるような最小の自然数を、z = 1, 12, 123, 1234, 12345,
123456, 1234567, 12345678, 123456789の各場合について求めよ。存在しないときは
そう表示せよ。
(B) (A)の「下z桁がすべて0となる」という条件を「0である桁がz個となる」に置き換えて解け。
(A)はちょっと考えれば簡単に解ける。(B)はどうか知らない。多桁整数計算ができるJuliaでは
z = 12345までは力任せでも求められたが。
283デフォルトの名無しさん
2019/12/12(木) 21:21:19.99ID:qa03h3dy 5で割っていく感じだから
整数無視して無限に割ると
おおまかに4で割った感じの数0が並ぶ
126! は4で割って31ぐらい
整数無視して無限に割ると
おおまかに4で割った感じの数0が並ぶ
126! は4で割って31ぐらい
284デフォルトの名無しさん
2019/12/12(木) 22:14:34.83ID:WrPVO4K2 連投論破野郎が論破されてて草
285デフォルトの名無しさん
2019/12/12(木) 23:15:10.76ID:UvCIGzud (A)だけ C++
https://ideone.com/LTC90E
https://ideone.com/LTC90E
286デフォルトの名無しさん
2019/12/12(木) 23:18:50.66ID:UvCIGzud (B)は実際に下限から順番に計算していかないとダメじゃないか?
287デフォルトの名無しさん
2019/12/12(木) 23:52:01.98ID:UvCIGzud n ! のゼロの個数は大雑把にはこのくらい
log_10(n !) / 10 + n * 9 / 40
逆算すれば大体の値はわかる
でも最小値だから正確に求めるのには使えない
log_10(n !) / 10 + n * 9 / 40
逆算すれば大体の値はわかる
でも最小値だから正確に求めるのには使えない
288デフォルトの名無しさん
2019/12/13(金) 18:36:38.11ID:0Lb/VhZx [お題]
今月(2019/12)の13日は金曜日。
開始年月と終了年月が与えられる。年は西暦、年月区切りは"/"。
開始年月一日から終了年月末日の間で"13日の金曜日"は何回あるか。
現在のグレゴリオ歴ルールで、終了年月末日まで変わらないとする。
制約: 1970 <= 年 <= 300億, 1 <= 月 <= 12, 開始年月 <= 終了年月
1) 2019/1 2019/12 --> 2 // 今年は9月と12月が該当
2) 1980/1 2012/12 --> 57
3) 213456/8 453212/4 --> 412380
4) 2000/1 2399/12 -->?
5) 2000/11 2800/9 -->?
6) 123456789/11 7301177081/10 -->?
7) 1970/1 30000000000/12 --> 51599996613
※数十万年程度だと力技だけで回っちゃうので、難易度調整で300億に。
wikiの"グレゴリオ歴#暦法" https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6#%E6%9A%A6%E6%B3%95
今月(2019/12)の13日は金曜日。
開始年月と終了年月が与えられる。年は西暦、年月区切りは"/"。
開始年月一日から終了年月末日の間で"13日の金曜日"は何回あるか。
現在のグレゴリオ歴ルールで、終了年月末日まで変わらないとする。
制約: 1970 <= 年 <= 300億, 1 <= 月 <= 12, 開始年月 <= 終了年月
1) 2019/1 2019/12 --> 2 // 今年は9月と12月が該当
2) 1980/1 2012/12 --> 57
3) 213456/8 453212/4 --> 412380
4) 2000/1 2399/12 -->?
5) 2000/11 2800/9 -->?
6) 123456789/11 7301177081/10 -->?
7) 1970/1 30000000000/12 --> 51599996613
※数十万年程度だと力技だけで回っちゃうので、難易度調整で300億に。
wikiの"グレゴリオ歴#暦法" https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6#%E6%9A%A6%E6%B3%95
289デフォルトの名無しさん
2019/12/13(金) 20:06:08.48ID:KAf60mjk 300億にしても年の曜日は14パターンしか無いのであっという間に解ける気が…
曜日は400年周期だから400年分求めればあとは割り算するだけかな?
曜日は400年周期だから400年分求めればあとは割り算するだけかな?
290デフォルトの名無しさん
2019/12/13(金) 20:15:02.20ID:QuzLYYNu291デフォルトの名無しさん
2019/12/13(金) 20:16:51.71ID:QuzLYYNu >>289
今日やらないとダメだよ
今日やらないとダメだよ
292デフォルトの名無しさん
2019/12/13(金) 20:32:32.43ID:7JZ8Vcg3 >>288
ずるいやり方だが、取り敢えずPowerShellに
1..12 |? {([DateTime]"2000/$_/13").DayOfWeek -eq "Friday"}
1..12 |? {([DateTime]"2400/$_/13").DayOfWeek -eq "Friday"}
と打ち込んでみると、
10
10
と表示され、2000年と2400年の13日の金曜日は10月で一致する。
これと閏年調整のパターンが400年周期であることを組み合わせると、
13日の金曜日の出現パターンも400年周期になることが分かる。
だから、400年分の表を作ってしまえば、遅いPowerShellでも余裕で解ける。
https://ideone.com/oV7JFk
--- 実行結果 ---
2019/1 2019/12 -> 2
1980/1 2012/12 -> 57
213456/8 453212/4 -> 412380
2000/1 2399/12 -> 688
2000/11 2800/9 -> 1375
123456789/11 7301177081/10 -> 12345678901
1970/1 30000000000/12 -> 51599996613
ずるいやり方だが、取り敢えずPowerShellに
1..12 |? {([DateTime]"2000/$_/13").DayOfWeek -eq "Friday"}
1..12 |? {([DateTime]"2400/$_/13").DayOfWeek -eq "Friday"}
と打ち込んでみると、
10
10
と表示され、2000年と2400年の13日の金曜日は10月で一致する。
これと閏年調整のパターンが400年周期であることを組み合わせると、
13日の金曜日の出現パターンも400年周期になることが分かる。
だから、400年分の表を作ってしまえば、遅いPowerShellでも余裕で解ける。
https://ideone.com/oV7JFk
--- 実行結果 ---
2019/1 2019/12 -> 2
1980/1 2012/12 -> 57
213456/8 453212/4 -> 412380
2000/1 2399/12 -> 688
2000/11 2800/9 -> 1375
123456789/11 7301177081/10 -> 12345678901
1970/1 30000000000/12 -> 51599996613
293デフォルトの名無しさん
2019/12/13(金) 20:57:37.29ID:7JZ8Vcg3 >>285
正解。例によってRで簡潔に書いた解答例: https://ideone.com/RhEtiC
>>287
やっぱり無理か。ちなみに、Juliaでz = 12345まで力任せで求めるプログラム
https://ideone.com/iqMYLa
--- 実行結果 ---
階乗の0である桁が1個になる最小値は5です。
階乗の0である桁が12個になる最小値は37です。
階乗の0である桁が123個になる最小値は299です。
階乗の0である桁が1234個になる最小値は2414です。
階乗の0である桁が12345個になる最小値は20177です。
正解。例によってRで簡潔に書いた解答例: https://ideone.com/RhEtiC
>>287
やっぱり無理か。ちなみに、Juliaでz = 12345まで力任せで求めるプログラム
https://ideone.com/iqMYLa
--- 実行結果 ---
階乗の0である桁が1個になる最小値は5です。
階乗の0である桁が12個になる最小値は37です。
階乗の0である桁が123個になる最小値は299です。
階乗の0である桁が1234個になる最小値は2414です。
階乗の0である桁が12345個になる最小値は20177です。
294デフォルトの名無しさん
2019/12/13(金) 21:27:38.91ID:QuzLYYNu295デフォルトの名無しさん
2019/12/13(金) 22:22:01.90ID:QuzLYYNu 123456個は存在しない
296デフォルトの名無しさん
2019/12/13(金) 23:21:15.30ID:QuzLYYNu 123457桁になる 30484!
から
下位に0が123457個続く 493840!
までの間に存在しない事を示せば
存在しない証明になりますが
もっと範囲を絞った証明は出来ないですかねえ
確率的には>>287の付近だけ調べれば良いんですが...
から
下位に0が123457個続く 493840!
までの間に存在しない事を示せば
存在しない証明になりますが
もっと範囲を絞った証明は出来ないですかねえ
確率的には>>287の付近だけ調べれば良いんですが...
297デフォルトの名無しさん
2019/12/13(金) 23:47:17.94ID:r78PztnN 全部調べる感じでぶん回してるけど1234567までが長いお(´・ω・`) (123456は>>295の言う通り出なかった)
1時間ぶん回して900000!まで行ったが…
1時間ぶん回して900000!まで行ったが…
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【高市悲報】維新奥下「企業から陳情のためにキャバクラに呼ばれたんや😤いい迷惑やったが断り辛かった」 [359965264]
- 日本、愚民化教育大成功!国際競争力は落ち国民は飢え中国との戦争を求める国民だらけになる [819729701]
- 【高市悲報】レーダー照射で日本が喧嘩売ってる中、アメリカ軍「我々はパールハーバーを忘れない」と日本に向けてポストへ [709039863]
- 高市首相「自らの命は自らが守るという原則で、行動とっていただきたい」 [256556981]
- 本当の問題は高市がバカなことじゃなくて高市みたいなバカを支持するバカが大量にいることだよな [314039747]
- 【悲報】おこめ券効果アンケート、全年代で「効果なし」と回答されてしまう [733893279]
