私はjavaを初めて使っています。私は素数を見つけるためのプログラムを作成しようとしています。私は素数を得るための解決策がたくさんあることを知っていますが、今日では、与えられた数を2,3,5,7で割った値がプライムではないことを確認したプログラムをコーディングしました。この論理は正しいか、素数を計算するには不十分ですか?参考のため;ここにコードがありますが、驚くべきことに、それは正しく評価されています。素数にはこれとは違う論理ですか?
import java.util.Scanner;
public class Prime
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter number");
int n = sc.nextInt();
if(n==1) {
System.out.println(n+" is not prime");
} else if(n==2) {
System.out.println(n+" is prime");
} else if(n%2==0 || n%3==0 || n%5==0 || n%7==0) {
System.out.println(n+" is not prime");
} else {
System.out.println(n+" is prime");
}
}
}
私はそれが正しいと思います。私たちのコードは、2,3,5と7の結果を使って同じです。しかし、おそらくあなたはこのサイトのための質問ですか? – jace
私はあなたがこのコードを書くことができる本当に素数であることを確認すると思います:int i、m = 0、flag = 0; int n = 17; //チェックする番号です m = n/2; for(i = 2; i <= m; i ++){ if(n%i == 0){ System.out.println( "Numberはプライムではありません"); フラグ= 1; 休憩。 } } if(flag == 0) System.out.println( "Number is prime"); –
これは、開発者が自分のコードをテストすることを信頼できない理由の完全な例です:-) –