日期:2014-05-20 浏览次数:21000 次
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);
}
}