质数的输出,只能被1和它本身整除的数为质数。最小的质数是2
public class Main{
public static void main(String[]args){
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
}
isFlag=true;
}
}
}
public class Main{
public static void main(String[]args){
//boolean isFlag=true;
for(int i=2;i<=100;i++) {
boolean isFlag=true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
}
//isFlag=true;
}
}
}
但是这样的方法比较耗内存
优化一:
public class Main{
public static void main(String[]args){
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
break;//只对本身非质数的自然数有效
}
isFlag=true;
}
}
}
优化二:
public class Main{
public static void main(String[]args){
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for (int j = 2; j <=Math.sqrt(i); j++) {//开方
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag == true) {
System.out.println(i);
break;
}
isFlag=true;
}
}
}

这篇博客探讨了如何用Java实现质数输出,并通过两种优化方法提高算法效率。首先,基础方法通过两层循环检查每个数是否为质数,然后优化一加入了`break`语句,一旦发现非质数条件则跳出循环。优化二进一步减少循环次数,仅检查到输入数的平方根,显著提升了运行速度。

5399

被折叠的 条评论
为什么被折叠?



