24h購物| | PChome| 登入
2009-01-10 20:56:34| 人氣1,230| 回應0 | 上一篇 | 下一篇

ACM 406 Prime Cuts

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

我採用的方式為:先把所有的質數,存到INT陣列中,然後在用FOR去printf,此題沒有

尾巴有空格的話就錯的問題。

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

  1. #include<stdio.h>         
  2. #include<stdlib.h>      
  3. #include<string.h>      
  4. #include<math.h>      
  5. main()      
  6. {      
  7.   int a,b,c,m,n,temp;      
  8.   int x[1000],time=0;      
  9.   while(scanf("%d %d",&n,&c)==2)          
  10.   {      
  11.    time=0;      
  12.    for(a=1;a<=n;a++)      
  13.     {          
  14.      temp=0;          
  15.      for(b=1;b<=(int)sqrt(a);b++)      
  16.       {      
  17.        if(a%b==0)      
  18.         temp++;       
  19.       }      
  20.       if(temp==1)      
  21.        {x[time]=a;time++;}      
  22.     }      
  23.    printf("%d %d: ",n,c);       
  24.   if(time>c&&n!=c)      
  25.     {      
  26.      for(m=time/2-c+1*(time%2==1);m<(time/2+c);m++)      
  27.       {      
  28.        printf("%d ",x[m]);      
  29.       }      
  30.     }      
  31.    else     
  32.      for(m=0;m<time;m++)      
  33.       {       
  34.         printf("%d ",x[m]);       
  35.       }         
  36.     printf("\n");      
  37.   }           
  38.  return 0;           
  39. }   

台長: 來源不明
人氣(1,230) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 100 The 3n + 1 problem
此分類上一篇:ACM 382 Perfection

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