pat b1013 数素数

主要考虑格式问题。
每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
行末没有空格意味着从第一行到最后一行末尾都没有空格,故以前n-m个目标素数输出后再输出最后一个目标素数。

//������

#include 

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;
}


你可能感兴趣的:(PAT)