PTA_乙级_1013

PTA_乙级_1013_第1张图片

#include 
#include 
using namespace std;

bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }
    for (int i = 2; i <= sqrt(num); ++i) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

int countPrimes(int lower, int upper) {
    int count = 0;
    for (int num = lower; num <= upper; ++num) {
        if (isPrime(num)) {
            ++count;
        }
    }
    return count;
}

void fillPrimes(int* primes, int lower, int upper) {
    int index = 0;
    for (int num = lower; num <= upper; ++num) {
        if (isPrime(num)) {
            primes[index++] = num;
        }
    }
}

int main() {
    int lower = 1;
    int upper = 100000;

    int primeCount = countPrimes(lower, upper);
    int* primeArray = new int[primeCount];

    fillPrimes(primeArray, lower, upper);

    int m,n;
    cin>>m>>n;


   int count = 1;
   for(int i=m-1;i<n;i++){
     cout<<primeArray[i];
     if(count%10!=0&&i!=n-1)  //不是一行的最后一个数或者最后一个数,就输出一个空格
       cout<<" ";
     else   //否则要换行
       cout<<endl; 
    count++;
}

    delete[] primeArray; // Don't forget to free the allocated memory

    return 0;
}

模板
判断素数

bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }
    for (int i = 2; i <= sqrt(num); ++i) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

输出模板

   int count = 1;
   for(int i=m-1;i<n;i++){
     cout<<primeArray[i];
     if(count%10!=0&&i!=n-1)  //不是一行的最后一个数或者最后一个数,就输出一个空格
       cout<<" ";
     else   //否则要换行
       cout<<endl; 
    count++;
}

有一个测试点没过
PTA_乙级_1013_第2张图片

你可能感兴趣的:(PTA乙级,c++)