我在浏览这个程序时遇到了一些麻烦,而这个程序在指南中使用了一个例子。它可能更像是一个数学问题,而不是一个编码问题。编辑包含代码!
// Find prime numbers between 2 and 100.
class Prime {
public static void main(String args[]) {
int x, y;
boolean isprime;
for(x=2; x < 100; x++) {
isprime = true;
for(y=2; y <= x/y; y++)
if((x%y) == 0) isprime = false;
if(isprime)
System.out.println(x + " is a prime number.");
}
}
}
以下是我对该计划的理解:
创建一个for循环,用2和???之间的数字除以素数。 (我不理解for循环的条件部分)
我试图在这里放入一个system.out.print选项,以显示每次迭代时x和y的含义,然后计算非素数作为素数。 < / p>
答案 0 :(得分:0)
它跳过的数字没有意义,检查它们是否是因素。例如,如果x = 49
,它将检查到y = 7
,之后条件将为false。由于它已经检查了7之前的所有数字,因此数字的平方根不可能有更高的因子。从本质上讲,它会检查数字2
到square root
的因子。