打印100-200之间的素数 写一段c++程序
时间: 2023-05-30 14:04:01 浏览: 92
#include <stdio.h>
int main() {
int i, j, flag;
printf("100-200之间的素数有:\n");
for (i = 100; i <= 200; i++) {
flag = 1; // 假设i是素数,先将标识符flag设为1
for (j = 2; j < i; j++) {
if (i % j == 0) { // 如果能被小于i的数整除,说明i不是素数
flag = 0; // 标识符flag设为0,表示i不是素数
break; // 跳出循环
}
}
if (flag == 1) { // 如果标识符flag为1,说明i是素数,输出i
printf("%d ", i);
}
}
return 0;
}
相关问题
用devc++输出3--100之间的素数
在Dev-C++中输出3到100之间的素数,你可以通过编写一段简单的程序来实现,这里是一个基础的示例,它会使用循环和条件判断来确定每个数字是否为素数:
```cpp
#include <iostream>
using namespace std;
// 判断一个数是否为素数
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;
}
int main() {
int start = 3, end = 100;
cout << "素数列表 (3 to 100):" << endl;
// 遍历3到100,输出素数
for (int i = start; i <= end; ++i) {
if (isPrime(i))
cout << i << " ";
}
cout << endl;
return 0;
}
```
在这个程序中,`isPrime()` 函数用于检查一个数是否是素数,`main()`函数则遍历从3开始到100的所有整数,并打印出那些是素数的结果。
c++打印 100~200之间的素数。素数:只能被1和它本身整除。
在C++中,我们可以编写一个简单的程序来打印100到200之间的所有素数。这里我们使用埃拉托斯特尼筛法(Sieve of Eratosthenes),这是一种找出一定范围内所有素数的经典算法。
```cpp
#include <iostream>
#include <vector>
bool isPrime(int num) {
if (num <= 1) return false;
if (num == 2 || num == 3) return true;
if (num % 2 == 0 || num % 3 == 0) return false;
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0)
return false;
}
return true;
}
void printPrimesInRange(int start, int end) {
std::vector<bool> primes(end + 1, true); // 初始化一个布尔数组
primes[0] = primes[1] = false; // 0和1不是素数
for (int p = 2; p * p <= end; p++) {
if (primes[p]) {
for (int i = p * p; i <= end; i += p)
primes[i] = false; // 根据质因子p将非质数标记
}
}
for (int num = start; num <= end; num++) {
if (isPrime(num))
std::cout << num << " ";
}
}
int main() {
printPrimesInRange(100, 200);
return 0;
}
```
当你运行这段代码时,它会打印出100到200之间的所有素数。
阅读全文