頭いい人来て: Nが素数かどうかを調べるには
■ このスレッドは過去ログ倉庫に格納されています
2からN-1までで割ってみてあまりがゼロになることがあれば非素数
一回もなければ素数
2から調べ始めてN-1まで調べなくてもN/2位まででも大丈夫そうな気がするんだけど
どこまで調べれば良いかってどうやって考えればいいの? Nが素数ではない場合N=a×bと表せるから
Nの平方根まで調べれば良い >>4
あーなるほど
天才だな
面積でイメージすると
平方根まで調べたらそれより後は今まで調べたものと同じだな N=a×bでaが√Nより大きい時
bが√Nより小さくなるってどうして分かる?🤔 >>16
N/√N=√N
a > √N
の時、
N/a=b<√N >>16
N=axbだから
a=√Nの時に
b=√Nじゃん
直観的に
aがその状態から増えたらbは小さくなるしかない気がする
それって√Nより小さくなるってことだよね >>15
そうだね
3以外3の倍数も要らないし。。。
5以外5の倍数も要らない
みたいなことを考えると2だけ特別視するのもあれだな
プログラムなら少しでも計算量減らすために2や3,5の倍数は予め弾いちゃってもいいのかも >>23
倍数かどうか判断するのがまたコストかかるじゃん
2だけならカウントアップする数変えるだけでok 2<N<100くらいまでなら余裕だけど100万とかは数学者も頑張ってるレベルだから無理 ■ このスレッドは過去ログ倉庫に格納されています