日期:2014-05-20 浏览次数:20808 次
public static int primeNumber(int[] prime, int n, int total) { int i, j; int gab = 2; boolean count; for(i = 7; i <= n;i += gab) { count = true; gab = 6 -gab; for(j = 0; prime[j] <= Math.sqrt( i );j++) { if(i % prime[j] == 0) { count = false; break; } } if(count) { prime[total] = i; total++; } } return total; }
------解决方案--------------------
如果a为质数,则从1到 a的平方根 之间的质数都不能 整除 a。
------解决方案--------------------
public class Test4 { public static void main(String args[]){ int sum = 0; boolean isPrimeNumber = true; for(int i = 2;i < 100;i++){ for(int j = 2; j <= Math.sqrt(i); j++){ if((i % j) == 0){ isPrimeNumber = false; break; } } if(isPrimeNumber == true) sum += i; isPrimeNumber = true; } System.out.println(sum); } }
------解决方案--------------------
import java.util.*;
public class test{
public static void main(String[] args) {
boolean[] isNotPrime = new boolean[100];
int sum=0;
for (int i = 2; i < 100; ++i){
if (!isNotPrime[i]){
sum+=i;
for (int j = i*i; j < 100; j+=i){
isNotPrime[j] = true;
}
}
}
System.out.println(sum);
}
}