你好,我是Java的新手,Udemy的老师给了我们这种方法,但是他没有解释,我发现它很难理解,我试图执行它,但是还是一样。 PS:对不起,我的英语我是阿拉伯人。 这是方法:
public static boolean isPrime(int n) {
if(n == 1) {
return false;
}
for(int i = 2; i <= n/2; i++) {
if(n % i == 0) {
return false;
}
}
return true;
}
答案 0 :(得分:2)
代码循环遍历从2
到n/2
的所有数字,并检查n是否可被该数字整除。如果可以被这些数字整除,则函数将返回false
,因为n具有除数。如果我们找不到从2
到n/2
的除数,则该数字为质数。更好的方法是循环到n的平方根。
答案 1 :(得分:0)
方法isPrime(int n)
接受整数n
并检查其是否为素数。
首先,它检查n
是否等于1。如果是,则该方法返回false,因为1不是素数。
然后,它循环遍历2
和n/2
之间的所有数字,并检查n
是否可被该数字整除。如果是,则该方法返回false,因为它不是素数。
它不检查2
到n
的每个数字的原因是因为它是多余的。数字n
不能表示为整数与大于n/2
的数字的乘积,除了n
之外,它不是素数。