您的位置:首页 > 编程语言 > Java开发

Java进阶之欧拉工程 第十篇【持续更新】

2014-08-16 11:21 225 查看
原题如下:

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
翻译:
低于10的素数的和是2+3+5+7=17,

要求所有低于2 000 000的素数之和。

解题思路:由于素数的出现并没有较为简单的规律,所以这道题还是采用对所有奇数的遍历,最后加上2,得到答案142913828922,代码如下:

package oula10;

public class Launcher {
public static final long max= 2000000L;
public static void main(String[] args) {

long sum=2L;
for(long i= 3L;i<max; i+=2){
if(is_prime(i)){
sum+=i;

}
}
System.out.println(sum);

}
public static boolean is_prime(long i) //检测是否为素数
{

for(int j=2;j<=Math.sqrt(i);j++){
if(i%j==0)
{
return false;
}
}
return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: