求1到100之间的质数(素数)?
程序员文章站
2022-03-01 17:47:20
...
- 求1到100之间的质数(素数)
- 用到知识:双层for循环,if判断
- 常识:2是最小的质数,质数的定义:除1和本身没有其他因数的数
- 思路:如何判断5是不是质数,用5分别对2,3,4取余,发现没有余数,说明5没有其他因数,所以5是质数
public class PrimeNumber {
public static void main(String[] args) {
System.out.println("1-100之间的质数为:");
boolean flag=true; //设置布尔类型flag,作为标记。
for (int i = 2; i <=100; i++) { //2是最小的质数
for (int j = 2; j < i; j++) { //去掉1和它本身
if (i%j==0){ //如果i%j==0,说明i还有其他因数
flag=false;
break; //所以直接break跳出内层循环
}
}
if (flag){ //如果flag==true,说明i%j==0不成立,说明i没有其他因数,故输出i
System.out.print(i+"\t");
}else {
flag=true; //当flag==false,说明已跳出内层循环,将flag再设置true,继续外层循环
}
}
}
}
运行结果:
上一篇: 广告筛选及广告排序的一些想法
下一篇: 求1到n的质数个数和O(n)