用c++编写一个代码,输出100以内的素数
时间: 2023-03-16 07:43:35 浏览: 209
我可以用C语言编写一个程序来输出100以内的素数:#include <stdio.h>
int main()
{
int low, high, i, flag;
printf("请输入两个正整数:");
scanf("%d %d", &low, &high);
printf("在%d 和 %d 之间的素数是: ", low, high);
while (low < high)
{
flag = 0;
for(i = 2; i <= low/2; ++i)
{
if(low % i == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
printf("%d ", low);
++low;
}
return 0;
}
相关问题
C++编写一个程序输出1000以内的所有质数。
在C++中,可以编写一个程序使用Sieve of Eratosthenes算法来找出1000以内的所有质数。这是一个经典的寻找质数的方法,通过逐步排除合数来确定哪些数字是质数。
以下是一个简单的实现:
```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 findPrimes(int limit) {
std::vector<bool> primes(limit + 1, true); // 初始化一个布尔向量,假设所有数字都是质数
primes[0] = primes[1] = false; // 0和1不是质数
for (int i = 2; i * i <= limit; ++i) {
if (primes[i]) {
for (int j = i * i; j <= limit; j += i) {
primes[j] = false; // 标记i的倍数为合数
}
}
}
for (int i = 2; i <= limit; ++i) {
if (primes[i]) {
std::cout << i << " ";
}
}
}
int main() {
findPrimes(1000);
return 0;
}
```
这段代码首先初始化了一个布尔向量,表示每个数字是否可能是质数。然后逐个检查从2到sqrt(limit),如果当前数字是质数,就标记其所有倍数为合数。最后,打印出所有标记为质数的数字。
用c++写一个输出100以内的素数的函数
当然,以下是一个用 C++ 编写的输出 100 以内素数的函数的示例代码:
```cpp
#include <iostream>
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() {
for (int i = 2; i <= 100; i++) {
if (isPrime(i)) {
std::cout << i << " ";
}
}
std::cout << std::endl;
}
int main() {
printPrimes();
return 0;
}
```
这个程序中,我们首先定义了一个用于判断一个数是否为素数的函数 `isPrime()`。然后在 `printPrimes()` 函数中,我们遍历从 2 到 100 的每个数,如果该数是素数,则将其输出。最后,在 `main()` 函数中调用 `printPrimes()` 函数以执行输出。
运行程序后,会输出结果:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97,这些都是 100 以内的素数。
阅读全文
相关推荐













