#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++;
}
有一个测试点没过