これは素数を見つけるのに最高でも効率的な方法でもないことを知っています。しかし、169が素数である理由を見つけることはできません。このコードで何が問題になっていますか?素数番号
public static int checkPrime(int num, int i)
{
if (i == num)
return 1;
else
{
if (num % i == 0)
return 0;
else
checkPrime(num, i+1);
}
return 1;
}
メインクラス:
System.out.println("Type a number");
number = reader.nextInt();
if ((number % 10) % 2 == 0)
result = 0;
else
result = checkPrime(number, 2);
if (result == 1 || number == 2)
System.out.println(number + " is a prime number");
else
System.out.println(number + " is NOT a prime number");
なぜ、 'bool'の代わりに' int'を返すのですか? – CodesInChaos
また、再帰呼び出しの戻り値も無視します。 – CodesInChaos
いくつかの数字が素数であることを確認している場合、なぜ他の数字もチェックしていますか? 'if(number%divider == 0)... 'と言ってください。 – MikkoP