24h購物| | PChome| 登入
2009-07-30 21:57:55| 人氣866| 回應0 | 上一篇 | 下一篇

ACM 10168 Q10168 Summation of Four Primes

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

利用:Goldbach's Conjecture 哥德巴赫猜想

去做切割,+上線性篩法

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

#include<stdio.h>
#include<stdlib.h>
char line[10000001]={0};
void Goldbach (int n)
{
  int a;
   for(a=3;a<=n/2;a=a+2)
      if(line[a]==0&&line[n-a]==0)
        {printf(" %d %d",a,n-a);break;}
}
main()
{
 int a,b,top=0;
 for(a=3;a<3162;a=a+2)
   if(line[a]==0)
      for(b=3;a*b<=10000000;b=b+2)
       line[a*b]=1;
 int n;
 while(scanf("%d",&n)==1)
  {
     if((n%2==0&&n-4<4)||(n%2==1&&n-5<4))
       {printf("Impossible.\n");continue;}
     if(n%2==0) {printf("2 2");n=n-4;}
     else {printf("2 3");n=n-5;}
    
     if(n==4) printf(" 2 2");
     else if (n==5) printf(" 2 3");
     else
       Goldbach (n);
     printf("\n");
  }
 return 0;
}

台長: 來源不明
人氣(866) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 10106 Q10106: Product
此分類上一篇:ACM 10336 Q10336: Rank the Languages

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