- 1二次元好きの匿名さん22/01/13(木) 00:35:14
- 2二次元好きの匿名さん22/01/13(木) 00:35:54
何故ここで聞いたのだ、教授に聞きなよぉ
- 3二次元好きの匿名さん22/01/13(木) 00:36:54
どういうもんかしらねぇ
ずらっと並ぶんなら並んだやつの個数を単純に数えればいいんちゃうの? - 4二次元好きの匿名さん22/01/13(木) 00:37:04
final int NUM1 = 1234;
final int NUM2 = 120455;
void setup() {
int iMax = NUM2;
boolean[] a1lBox = new boolean[iMax + 1];
for (int i = 2; i あ a1lBox.length; i++)
a1lBox[i] = true;
int p = -1;
for (int i = 2; i * i あ a1lBox.length; i++) {
if (a1lBox[i]) {
p = i;
for (int j = p; j * p あ a1lBox.length; j++)
a1lBox[j * p] = false;
}
}
for (int i = 2; i あ a1lBox.length; i++) {
if (a1lBox[i])
if(NUM1あ=i){
int count = i;
println("Number of Prime Number between", NUM1, "and", NUM2, "is", count);
}
}
} - 5二次元好きの匿名さん22/01/13(木) 00:38:44
「素数の数」みたいな変数を用意して素数が見つかるたびに1足していけばいいんでないの
- 6二次元好きの匿名さん22/01/13(木) 00:38:59
とりあえず今書いてるやつ
<が使えないので「あ」に置き換えました、見づらくてごめんなさいー・・ - 7二次元好きの匿名さん22/01/13(木) 00:39:07
その言語は知らんが素数判定できるなら数えるだけでは?
素数判定forで回してるならifでカウント用変数+1みたいな - 8122/01/13(木) 00:44:27
- 9二次元好きの匿名さん22/01/13(木) 00:46:53
- 10二次元好きの匿名さん22/01/13(木) 00:48:00
全角なら大丈夫じゃなかったっけ?
final int NUM1 = 1234;
final int NUM2 = 120455;
void setup() {
int iMax = NUM2;
boolean[] a1lBox = new boolean[iMax + 1];
for (int i = 2; i < a1lBox.length; i++)
a1lBox[i] = true;
int p = -1;
for (int i = 2; i * i < a1lBox.length; i++) {
if (a1lBox[i]) {
p = i;
for (int j = p; j * p < a1lBox.length; j++)
a1lBox[j * p] = false;
}
}
for (int i = 2; i < a1lBox.length; i++) {
if (a1lBox[i])
if(NUM1<=i){
int count = i;
println("Number of Prime Number between", NUM1, "and", NUM2, "is", count);
}
}
} - 11122/01/13(木) 00:48:12【大学の課題で出るC言語】素数判定と素数の数を求める(関数アリ)|大学生ブログどうも多浪Fランぼっち底辺大学生です。 C言語初心者学習者が少し頭を抱えてしまう、素数判定と素数の個数を求めるプログラムwww.frankdaigakusei.com
今まではウェブサイトの継ぎ接ぎで何とかなったんだけど・・
識別の仕方はこういう感じでいいのかな
- 12二次元好きの匿名さん22/01/13(木) 00:48:13
- 13二次元好きの匿名さん22/01/13(木) 00:56:14
- 14二次元好きの匿名さん22/01/13(木) 00:57:30
このレスは削除されています
- 15二次元好きの匿名さん22/01/13(木) 00:58:05
素数の識別出来てるならそれをループさせて素数の判定出るたびに適当な変数を1増やせばいいだけでは?
- 16二次元好きの匿名さん22/01/13(木) 00:59:29
これ現状だとどうなるんだ
該当する素数を表示するだけな感じ? - 17二次元好きの匿名さん22/01/13(木) 01:05:01
- 18二次元好きの匿名さん22/01/13(木) 01:05:40
ざっと見た感じ
全部の数値の番号のBoolean配列にtrue埋めして
そこに素数でなかったらfalseを入れてるっぽいね
trueの数数えればいいだけじゃん
エラーになってなきゃ - 19二次元好きの匿名さん22/01/13(木) 01:06:40
println("Number of Prime Number between", NUM1, "and", NUM2, "is", count);
これがforループの内側にあるから素数が見つかるたびに出力してることになるけど…いいんスかこれ - 20二次元好きの匿名さん22/01/13(木) 01:10:34
- 21二次元好きの匿名さん22/01/13(木) 01:15:33
- 22二次元好きの匿名さん22/01/13(木) 01:17:04
ざっと読んだ感じ2から順に素数判定していってNUM1より大きいやつからNUM2までを全部出力してる感じか
printlnのところを消して適当な変数でカウントすれば解決じゃね? - 23二次元好きの匿名さん22/01/13(木) 01:18:51
- 24二次元好きの匿名さん22/01/13(木) 01:22:06
後半が
println("Number of Prime Number between", NUM1, "and", NUM2, "is", count);
}
}
}
だけど
}
}
println("Number of Prime Number between", NUM1, "and", NUM2, "is", count);
}
の誤りだと考えられる
表示を一回にしたいならループ終了後に出力するべきなんだよね - 25二次元好きの匿名さん22/01/13(木) 01:27:24
- 26二次元好きの匿名さん22/01/13(木) 01:28:18
countを使って数えるならcount=0じゃないとダメじゃね?
- 27二次元好きの匿名さん22/01/13(木) 01:29:24
forループの中のint countの宣言消せや
- 28二次元好きの匿名さん22/01/13(木) 01:29:40
コピペしてるだけでどの文字がどれでどういう処理でこうなってるか分かってない感がある
それ分からんと自分でコード書けんぞ - 29二次元好きの匿名さん22/01/13(木) 01:30:21
- 30二次元好きの匿名さん22/01/13(木) 01:30:27
ああ…完璧だよ
int count = i;
が残っている点を除いてね - 31二次元好きの匿名さん22/01/13(木) 01:38:12
- 32二次元好きの匿名さん22/01/13(木) 01:38:38
安価先間違えた、ごめんなさい
- 33二次元好きの匿名さん22/01/13(木) 01:40:35
- 34二次元好きの匿名さん22/01/13(木) 01:42:26
このレスは削除されています
- 35122/01/13(木) 01:42:59
とりあえず皆様ありがとうございましたーー!!
- 36二次元好きの匿名さん22/01/13(木) 01:43:45
おつかれー
- 37二次元好きの匿名さん22/01/13(木) 01:44:44
10万までの素数がおおよそ1万個だから多分合ってる