pat b1013 數素數

主要考慮格式問題。
每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘空格。
行末沒有空格意味着從第一行到最後一行末尾都沒有空格,故以前n-m個目標素數輸出後再輸出最後一個目標素數。

//������

#include <cstdio>

int prime[10001];

void primeMtoN(int m, int n);
bool isPrime(int n); // �ж�һ�����Ƿ�Ϊ����

bool isPrime(int n){
    if(n == 2 || n == 3) return 1;
    for(int i = 2; i * i <= n; i++){
        if(n % i == 0)
            return 0;
    }
    return 1;
}

void primeMtoN(int m, int n){
    int count = 0;
    for(int i = 2; i <= 1500001; i++){//¼������
        if(isPrime(i)){
            count++;
            prime[count] = i;
            if(count > n)
                break;
        }
    }

    for(int i = m, nc = 1; i < n && nc < n - m + 2; i++ && nc++){ // �������      
        if(nc % 10 != 0)
            printf("%d ", prime[i]);
        if(nc % 10 == 0)
            printf("%d\n", prime[i]);
    }
    printf("%d\n", prime[n]);
}
int main(){
    int m, n;
    scanf("%d%d",&m, &n);
    primeMtoN(m, n);
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章