64,637
社区成员
发帖
与我相关
我的任务
分享
void getPrime(int n) {
if(n <= 0) return;
bool arr[n+1];
for(int i = 2; i <= n; i++)
arr[i] = true;
for(int i = 2; i <= n; i++) {
if(arr[i]) {
for(int m = i+1; m <= n; m++) {
if(m%i==0)
arr[m]==false;
}
}
}
int cnt = 0;
for(int i = 1; i <= n; i++){
if(arr[i]) {
cout << i << " ";
cnt++;
}
if(cnt%10==0)
cout << endl;
}
cout << endl << cnt << endl;
}
int main()
{
getPrime(10);
return 0;
}
void getPrime(int n) {
if (n <= 0) return;
bool *arr = new bool[n + 1];//--------动态分配内存-------
for (int i = 2; i <= n; i++)
arr[i] = true;
for (int i = 2; i <= n; i++) {
if (arr[i]) {
for (int m = i + 1; m <= n; m++) {
if (m%i == 0)
arr[m] == false;
}
}
}
int cnt = 0;
for (int i = 1; i <= n; i++) {
if (arr[i]) {
cout << i << " ";
cnt++;
}
if (cnt % 10 == 0)
cout << endl;
}
cout << endl << cnt << endl;
delete[]arr;//---------释放内存--------------
arr = NULL;//---------复位指针-------------
}