![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
javaで素数を探すプログラム。
初歩的なことかと思いますが、助言をお願いします。
if(a[i-1]) ←この部分がわかりません。これはどのような条件がなのでしょうか?
class Prime {
public static void main(String[] args) {
int max = 100; // 素数を探す数の最大値
boolean[] a = new boolean[max]; // 素数かどうか判定する配列
// 配列の初期化
for(int i = 0; i < max; i++)
a[i] = true;
// 素数かどうか判定
for(int i = 2; i < max; i++) {
if(a[i-1]) {
for(int j = 2; i*j <= max; j++)
a[i * j - 1] = false;
}
else
continue;
}
// 結果を表示
for(int i = 1; i < max; i++) {
if(a[i])
System.out.print((i + 1) + " ");
}
System.out.println();
}
}
このプログラム
No.1ベストアンサー
- 回答日時:
アルゴニズムが分かっているかですかね・・・
素数かどうかを判定するのはmaxまでの数から1を除いた(max-1)個の数なので
iが素数かどうかの判定結果をa[i-1]に入れてあります
1 配列の初期化ですべてが素数と仮定
2 if(a[i-1])でiが素数かどうかを判定
2.1 素数だった場合MAXまでのiの倍数の数の判定結果をfalseに設定する
2.2 素数じゃなかったら次の数
[補足]iが素数でなかった場合i-1までに判定がfalseに設定されているはずである
3 結果表示
a[i]がtrueならi+1は素数である!
回答ありがとうございます。
なるほど。つまり
if(a[i-1] == true)
ってことなんですかねぇ・・・?勉強になりました!
それとアルゴニズムは知らないっすw
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Java Java 配列<選挙> 4 2023/07/31 15:07
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java
-
C言語でunsigned char配列を連...
-
[Ljava.lang.Stringってなんですか
-
エラーのStackTraceをString変...
-
java 乱数を並べて重複させない...
-
Javaの配列の中身の並び替え
-
JAVAで配列の要素に、負の値が...
-
Java 配列に1から25以外の値が...
-
配列の中に複数存在する数がい...
-
MAPの配列・・・???!!!
-
このPGの良い使い方を教えて下...
-
サーブレットで複数値の受取り
-
Vectorクラスの使い方
-
「シンボルを見つけれません」...
-
ArrayListからBean配列に値をセ...
-
javaで素数を探すプログラム。
-
プログラミングの問題です。大...
-
Visual Basic でのコードをASCI...
-
マージソートについて
-
【struts】 ActionFormで別のAc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
n番目に大きな値を探索する
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
Javaで文字を漢字であるか否か...
-
配列をセッションに割り当てた後で
-
配列の中に複数存在する数がい...
-
java
-
Javaで文字と数字が混ざったも...
-
C#で動的配列Listの中身をListB...
-
配列で、値の入っている要素数...
-
『args[]』とは?
-
【C#】ハッシュテーブル(連想...
-
ページング
-
セッションを使ったint型の値の...
-
配列について
-
同じ配列またはクラスを、2回...
-
ArrayListからBean配列に値をセ...
-
Java配列の問題を教えてくださ...
-
java 大文字と小文字を入れ替える
-
同じ文字を探しカウントしたい
おすすめ情報