2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

与えられた自然数nが素数であるか否かを判定する関数のプログラムを書け

1 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 15:50:56.592 ID:xJloPUnyd.net
っていう課題が出たんだがどう書けばいいの
言語は問わん

2 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 15:52:23.150 ID:W5SpmtSpd.net
プログラムやったことないんだが素数に規則性がないのに可能なのか?

3 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 15:52:45.813 ID:az53OvfPd.net
正しく判定しろとは言われてないから任意の数にTrue返す判定関数書けばいい

4 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 15:52:57.692 ID:/v1XBDvSd.net
じゃあ日本語で
「与えられた自然数nが素数であるか否かを判定する関数のプログラム」

5 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 15:54:29.063 ID:wpgvUUS90.net
時間がかかるけど、2以上√n以下の全ての自然数で割って、どれで割っても余りが0にならなければ素数とすれば判定できるぞ

6 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 15:59:14.245 ID:QnVhndhtM.net
n÷iのあまりを求めて、あまり0が1つの場合だけ素数
iは1〜nにしてforとか適当に繰り返しとけ

7 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:00:26.557 ID:o1/pMp9lM.net
モンテカルロ探索

8 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:15:46.361 ID:4812IMhi0.net
int work = 0;
関数(workに数字を手打ち);

double w1 = work;
double w2 = 0;
int flg = 0;

for(int i = 2 ; i < work ; i++){
w2 = w1 / i;
if( w2 が割り切れたら ){
flg = 1;
break;
}
}

if(flg == 1){
printf("%dは、約数ではない",work);
}else{
printf("%dは、約数である",work);
}

9 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:17:00.947 ID:VBEynkNz0.net
>>8
肝心な部分が無いじゃんw

10 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:18:26.309 ID:4812IMhi0.net
割り切れたかの判定が思いつかない
52だとすると小数点だけ取り出して
その数が1よりも大きければ割り切れていないって感じなのかな?

11 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:19:18.644 ID:z8AUk1vL0.net
Mathematica で実装する
入力を x とすると以下のようにかける


PrimeQ[x]

12 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:20:01.282 ID:4812IMhi0.net
>>9
たぶん>>10のでいけると思うけど
動かしてみないとどういう結果になるかわかんねえ
あとintとかdoubleの最高値みたいなのを例外処理とかでいれとかないとだめな予感
何桁までできるのか知らんけど

13 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:20:33.179 ID:yT9vc2FW0.net
無理

14 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:21:40.740 ID:z8AUk1vL0.net
言語はなんでもいいんだからわざわざ低レベルな言語でやる必要はない
僕の解答が最もシンプルでかつ美しいでしょう

15 :以下、5ちゃんねるからVIPがお送りします:2017/11/28(火) 16:21:41.149 ID:4812IMhi0.net
これintを100個くらい繋げてものすごい桁数まで判定できるようにしたら
教授に気にいられるんでないか?
あと数学知らないけどその数が素数なのかっていう数式があるんでないのか?

総レス数 44
11 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200