2013年10月21日 星期一

[ZJ] a626 - 6. Prime Directive

a626: 6. Prime Directive
關鍵字:

通過 : 65 人 /77 次 送出 : 68 人 /208 次 | 通過比率 : 96%
公開 測資點 1 (100%): 1.0s, 512 MB | 評分方式: Tolerant

最近更新 : 2013-02-26 10:52 
內容 :
給你一個正整數 N,請列出從 2 到 P 的所有質數,其中 P 為 ≤N 的最大質數。N 的範圍為 1 到 1000。質數的定義為只能被 1 和本身除盡的大於 1 的整數。輸出中每行只能有五個數字,如範列輸出。
輸入說明 : 
每筆測資一行,含有一個正整數 N (1 ≤ N ≤ 1000)。
輸出說明 : 
輸出中每行最多只能有五個數字,如範列輸出。(每個數字含它前面的空白共 10 個字元)。
範例輸入 : help
50
範例輸出 :
         2         3         5         7        11
        13        17        19        23        29
        31        37        41        43        47
提示 : 
出處 : 
HP CodeWars 2007 
(管理:snail)
----------------------------------------------------------------------------------------------------
#include<stdio.h>
int s[1005]={0};
int main(){
    int i,j,n,add;
    s[1]=1;
    for(i=2;i<=1000;i++){
        if(!s[i])
        for(j=i+i;j<=1000;j+=i){
            s[j]=1;
        }
    }
    while(scanf("%d",&n)!=EOF){
        for(add=0,i=1;i<=n;i++){
            if(!s[i]){
                add++;
                if(add%5==1 && add!=1) puts("");
                printf("%10d",i);
            }
        }
        puts("");
    }
}

沒有留言:

張貼留言