我正在尝试写一个简单的素数代码从1到100,但我无法理解为什么它不给我结果。
package com.java.program;
public class PrimeNo {
public static void main(String[] args) {
System.out.println("Prime no btw 1 to 100");
for(int i=1;i<=100;i++)
{
int count=0;
for(int j=2;j<=i;j++){
if(i%j==0)
{
count++;
break;
}
}
if(count==0)
{
System.out.println("\t" +i);
}
}
}
}
在第一个for循环启动i中从2而不是1.在你的第二个for循环中你正在做(j <= i)。一个数字总是可以被自身整除,因此它会产生count ++,当j = i时它会被忽略。试试这个(j <i)或效率(j <= i / 2 + 1)。
只做j <i,它会打印出来。因为数字n总是可以被n整除,所以它不是2到100之间的打印素数
for(int j=2;j<i;j++)