求救拉!各位大虾帮忙算算100以内的质数之和!摆脱拉!

解决方案 »

  1.   


    public class address {     
        public static boolean isPrime(int num) {   
        
           for(int i = 2; i <= Math.sqrt(num); i++) {//程序默认2是素数,当j=2时,循环不执行
               if(num % i == 0) {
                 return false;
               }
           }
           return true;
        }
        public static void main(String[] args) {
         int sum=0;
            for(int j = 2; j <= 100; j++) {
                if(address.isPrime(j)) {
                   //System.out.println(j + " is a prime");
                 sum+=j;
                }
            }
            System.out.println("100内的素数和是:"+sum);
        }
        
    }
      

  2.   

    public class sum()
    {
         public static void main(String[] args)
         {
             int sum=0;
             for(int i=1;i<=100;i++)
             {
                  if(i%1==0&&i%i==0)
                  {
                      sum+=i;
                  }
             }
             System.out.println(sum);
         }
    }
      

  3.   

    public class sum()
    {
         public static void main(String[] args)
         {
             int sum=0;
             for(int i=1;i<=100;i++)
             {
                  if(i%1==0&&i%i==0)
                  {
                      sum+=i;
                  }
             }
             System.out.println(sum);
         }
    }
      

  4.   

    再帖几个打表的方法,认真比较学习……
    #include<stdio.h>
    #define N 1000001
    int a[N];
    int p[N];
    int num=0;
    void Prime1()
     {
    int i,j;
    for(i=0;i<N;i++)
    {
    a[i]=0;
    }
        
        for(i = 2; i < N; ++i)
    {
    if(!a[i])
    {
               p[num++] = i;
               for(j = i+i; j < N; j +=i)
       {
                  a[j] = 1;
       }
    }
        }
    }void Prime2()
    {
    int i,j;
    for(i=0;i<N;i++)
    {
    a[i]=0;
    } for(i=2;i<N;i++)
    {
    if(!a[i])
    {
    p[num++] = i;
    }
    for(j=0;(j<num&&i*p[j]<N);j++)
    {
    a[i*p[j]]=1;
    if(!(i%p[j]))
    {
    break;
    }
    }
    }
    }void Prime3() 
    {
        int i,j,max;
    for(i=0;i<N;i++)
    {
    a[i]=0;
    }    for(i = 2; i <N; ++i) 
    {
            if(!(a[i]))
    {
       p[num++] = i;
    }
            for(j=0;(j<num&&i*p[j]<N &&(p[j]<=a[i]||a[i]==0));++j)
    {
               a[i*p[j]]=p[j];
    }
        }
    }int main()
    {
    int i;
    // Prime1();
    // Prime2();
    Prime3(); printf("%d ",p[num-1]);system("PAUSE");
    return 0;
    }/*
    for(i=2;i*i<MAX;i++)
    {
    if(prime[i])
    continue;
    for(j=i*i;j<MAX;j+=i)
    {
    factor[j] = i; //j的最小素因子
    prime[j] = 1;
    }
    }*/
      

  5.   

    六楼怎么用C语言啊?这里最好都用JAVA 吧!
      

  6.   

    public class address {    
        public static void main(String[] args){  
           int num=0;
           boolean a=true;
           for(int i=1;i<=100;i++){
              for(int j=2;j<i;j++){
                 if(i%j==0){
                   a=falsh;
                   break;
                 }
              }
              if(a){
                num+=i;
              }
           }
           System.out.println("100以内的质数这和是:"+num);
        } 
    }
      

  7.   


    public class address {    
        public static void main(String[] args){  
          int num=0; 
             for(int i=1;i <=100;i++){ 
              for(int j=2;j <i;j++){ 
                if(i%j==0)
               {  
                  break; 
                } 
              else 
              {
                num+=i; 
              } 
          } 
          System.out.println("100以内的质数这和是:"+num); 
        } 
    }小改一下