判断100-200之间的全部素数并输出,每行输出10个。素数定义:只能被1和自身整除的正整数,1不是素数,2是素数。
时间: 2024-10-15 07:28:31 浏览: 18
利用c++语言来输出1-100之间的所有素数.rar
确定100到200之间所有素数的一种方法是使用Sieve of Eratosthenes(埃拉托斯特尼筛法),这是一种经典的算法用于找到一定范围内所有的素数。我们可以创建一个布尔数组表示每个数字是否为素数,然后逐步筛选掉非素数。
以下是一个简单的C++程序示例,按照您的要求每行输出10个素数:
```cpp
#include <iostream>
#include <vector>
// 判断是否为素数
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// 输出素数
void printPrimes(int start, int end) {
std::vector<bool> primes(end + 1, true); // 初始化所有数为素数
primes[0] = primes[1] = false; // 1和2不是素数
for (int i = 2; i * i <= end; i++) {
if (primes[i]) { // 如果i是素数
for (int j = i * i; j <= end; j += i) {
primes[j] = false; // 将i的倍数标记为非素数
}
}
}
for (int i = start; i <= end; i++) {
if (primes[i]) { // 只打印素数
std::cout << i << " ";
if ((i / 10) * 10 == i) { // 按每行10个输出
std::cout << '\n';
}
}
}
}
int main() {
printPrimes(100, 200);
return 0;
}
```
阅读全文