java这段代码怎么了?素数
我知道这不是找到素数的最好或最有效的方法;因为我觉得169是个小数字,所以我觉得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");
# 1 楼答案
将
int
替换为boolean
以获得更好的表达能力,并返回递归调用的值,您的方法如下所示:它仍然不适用于
num < 2
,它将运行到i
溢出为止。因此,作为主要的素数检查函数,您可以编写如下内容:顺便说一句
(number % 10) % 2
相当于number % 2