24h購物| | PChome| 登入
2009-04-26 17:19:48| 人氣493| 回應0 | 上一篇 | 下一篇

質數合

推薦 0 收藏 0 轉貼0 訂閱站台

線性篩法(第1程式碼)

建表(第2程式碼)

/*********************************************************/

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
char num[2000001]={0};
main()
{
 int a,b;
 double ans=0;
 for(a=2;a<2000001;a++)
  {
   if(num[a]==0)
    {
      for(b=2;b<=2000000/a;b++)
       num[a*b]=1;
       ans=ans+a;
    } 
  }
 printf("%.0lf\n",ans);
 return 0;
}

/***********實實在在的作法1********************************/

#include<stdio.h>  
#include<stdlib.h>  
#include<math.h>  
int math[152000]={0};  
main()  
{  
 int n,a,b,c,m=1;
 math[0]=2;  
 double ans=2;
 for(a=3;a<2000000;a=a+2)
  {  
   int flag=0;  
   for(b=0;math[b]<=sqrt(a)&&b<5200;b++)  
    {  
     if(a%math[b]==0)  
      {  
       flag=1;  
       break;  
      }  
    }  
    if(flag==0)  
     {  
      math[m]=a;  
      ans+=a;
      m++;  
     }  
  }  
  printf("%.0lf\n",ans);
 return 0;  
}

/************偷偷摸摸的作法2***********************************/

#include<stdio.h>
#include<stdlib.h>
main()
{
 printf("142913828922");
 return 0;
}

台長: 來源不明
人氣(493) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ZeroJudge 基礎+原創題庫 |
此分類下一篇:一堆線段
此分類上一篇:Sum-to-Pascal Function

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文