低于10的素数之和为2 + 3 + 5 + 7 = 17.
找出200万以下所有素数的总和。
public class Problem10
{
public static void main(String[] args)
{
int sum = 17;
for(long i=11; i<2000000; i+=2)
{
if(isPrime(i)) sum += i;
}
System.out.println(sum);
}
public static boolean isPrime(long n)
{
if(n==2) return true;
if(n%2 == 0) return false;
for(long i=3; i<= Math.sqrt(n); i+=2)
{
if(n%i == 0) return false;
}
return true;
}
}
我不知道这有什么问题。它不断打印1179908154。
答案 0 :(得分:3)
您的<div class="list card">
<div ng-repeat="destination in destinations | isActive">
<div class="item item-divider">
<span>{{title}}</span>
</div>
<a href="#" class="item item-icon-left item-icon-right item-balanced">
<i class="icon ion-ios-home"></i>
<div>
<div>{{text1}}</div>
<div><b>{{text2}}</b></div>
<div>{{text3()}}</div>
<div>{{text4()}}</div>
</div>
<i class="icon ion-ios-filing"></i>
</a>
</div>
</div>
是sum
,但整数溢出正在发生。如果您将数据类型更改为int
,则答案将更改为long
,该值会超过最大可能142913828922
。 That appears to be the correct answer.