用c++写出判断素数的程序
时间: 2023-05-17 22:05:48 浏览: 125
以下是用 C 语言写的判断素数的程序:
```c
#include <stdio.h>
int main() {
int n, i, flag = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("1 既不是素数也不是合数。\n");
} else {
if (flag == 0)
printf("%d 是素数。\n", n);
else
printf("%d 不是素数。\n", n);
}
return 0;
}
```
该程序通过输入一个正整数,然后使用 for 循环从 2 开始到该数的一半,判断该数是否能被整除,如果能被整除,则该数不是素数,否则该数是素数。
相关问题
用C++写出100以内的素数
在C++中,我们可以使用循环和条件判断来找出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;
}
void printPrimesUpto(int n) {
cout << "素数在1到" << n << "之间的有:";
for (int i = 2; i <= n; i++) {
if (isPrime(i))
cout << i << " ";
}
cout << endl;
}
int main() {
int limit = 100;
printPrimesUpto(limit);
return 0;
}
```
在这个程序中,`isPrime()`函数用于检查一个数字是否为素数,而`printPrimesUpto()`函数则遍历从2到给定限制(这里是100),并打印出所有的素数。
用c++写判断1000内所有素数的函数
在C++中,你可以编写一个函数来检查一个数字是否是素数,然后遍历1到1000之间的所有数字,对每个数字调用这个函数。下面是一个简单的示例,展示了如何实现这个功能:
```cpp
#include <iostream>
#include <cmath>
// 判断一个数是否为素数
bool isPrime(int num) {
if (num <= 1) return false; // 1不是质数
if (num == 2 || num == 3) return true; // 2和3是质数
if (num % 2 == 0 || num % 3 == 0) return false; // 质数除以2和3余数不可能为0
int i = 5;
while (i * i <= num) { // 只需要检查到sqrt(num)
if (num % i == 0 || num % (i + 2) == 0) return false;
i += 6; // 跳过偶数和比当前因子小的奇数
}
return true;
}
// 主函数打印1000内的所有素数
int main() {
for (int i = 2; i <= 1000; ++i) {
if (isPrime(i)) {
std::cout << i << " ";
}
}
return 0;
}
```
在这个程序中,`isPrime`函数用于检查输入的整数是否为素数,`main`函数则遍历并打印出1000以内的所有素数。
阅读全文
相关推荐













