您的位置:首页 > 其它

求1到100之间的素数

2013-07-22 22:00 106 查看
需求:编程打印1到100之间的所有素数

解析:何为素数:素数是除了1与本身之外没有其他约数的数(1除外)也称为质数

方法一:

package com.Carlyle;

public class DemoDay01 {

public static void main(String[] args) {

// 打印1-100之间的所有素数

//素数是除了1与本身之外没有其他约数的数(1除外),即从2开始到i-1;

//标记是素数

boolean flag=true;

for(int i=2;i<=100;i++){

flag=true;

for(int j=2;j<i-1;j++){

if(i%j==0){

flag=false;

break;

}

}

if(flag){

System.out.println(i);

}

}

}
}


方法二:

package com.Carlyle;

public class DemoDay02 {

public static boolean isPrime(int num) {

for(int i = 2; i <= Math.sqrt(num); i++) {

if(num % i == 0) {

return false;

}

}

return true;

}

public static void main(String[] args) {

for(int j = 2; j <= 100; j++) {

if(DemoDay.isPrime(j)) {//调用isPrime判断是否为素数

System.out.println(j + " 是素数");

}

}

}

}

}


方法一和方法二的区别就在于执行效率的问题,方法二的执行效率明显比方法一高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: