编写c++程序输出2~n取间的素数(不用函数)
时间: 2023-05-27 21:03:51 浏览: 61
以下是一个简单的 C 程序,可以输出 2 到 n 之间的所有素数。
```c
#include <stdio.h>
int main()
{
int n, i, j;
printf("请输入 n 的值:");
scanf("%d", &n);
for (i = 2; i <= n; i++)
{
int flag = 1;
for (j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag)
printf("%d是素数\n", i);
}
return 0;
}
```
程序通过两个循环来找到 2 到 n 之间的所有素数。外层循环用 i 从 2 到 n 扫描每个数,内层循环用 j 从 2 到 i 的一半判断每个数是否是 i 的因子。如果 i 有因子,则表明它不是素数,否则它是素数,被输出。程序使用 flag 变量来记录是否找到了 i 的一个因子。
相关问题
用C++编写程序,输出100~1000内的素数
好的,以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
// 判断一个数是否为素数
bool is_prime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
// 输出100~1000内的素数
int main() {
for (int i = 100; i <= 1000; i++) {
if (is_prime(i)) {
cout << i << " ";
}
}
return 0;
}
```
首先也是定义了一个函数 `is_prime`,用来判断一个数是否为素数。然后在 `main` 函数中使用循环从100到1000遍历每个数,如果是素数就输出。注意,要使用 `sqrt` 函数来求平方根。
编写一个c++程序,输出大于某个整数N的最小素数。
以下是一个简单的 C++ 程序,可以输出大于某个整数 N 的最小素数:
```c++
#include <iostream>
#include <cmath>
using namespace std;
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cout << "请输入一个整数 N:" << endl;
cin >> n;
while (!is_prime(n + 1)) {
n++;
}
cout << "大于 " << n << " 的最小素数是:" << n + 1 << endl;
return 0;
}
```
该程序通过一个 `is_prime` 函数判断一个数是否是素数,然后在主函数中输入一个整数 N 并进行循环,每次判断 N+1 是否为素数,如果不是,则将 N 加 1 继续判断,直到找到大于 N 的最小素数为止。最后输出结果即可。
注意,该程序可能不适用于非常大的整数,因为素数判断的时间复杂度为 O(√n),当 n 非常大时可能会影响程序的效率。