用C++写一个计算一个数是否是素数的程序
时间: 2023-05-17 19:05:02 浏览: 112
以下是用 C 语言编写的判断一个数是否是素数的程序:
```c
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; ++i) {
// 如果能被整除,则不是素数
if (num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0)
printf("%d是素数", num);
else
printf("%d不是素数", num);
return 0;
}
```
该程序首先要求用户输入一个正整数,然后通过 for 循环从 2 开始遍历到该数的一半,判断该数是否能被整除。如果能被整除,则说明该数不是素数,将 flag 标记为 1 并跳出循环。最后根据 flag 的值输出判断结果。
相关问题
请用C++写一个计算素数和
在C++中,我们可以编写一个简单的函数来检查一个数字是否为素数,并通过循环遍历一系列整数来计算它们之中的素数。下面是一个基本的示例:
```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 = 100, end = 500;
cout << "Prime numbers between " << start << " and " << end << " are:\n";
for (int i = start; i <= end; i++) {
if (isPrime(i))
cout << i << " ";
}
cout << endl;
return 0;
}
```
这个程序首先定义了一个`isPrime`函数,用于判断输入的数是否为素数。然后,在主函数`main`中,我们设置一个范围(这里是100到500),并逐个检查每个数字是否是素数,如果是,则打印出来。
用c++写一个程序:找出100-900之间的无暇素数。所谓无暇素数是指本身为素数,且其逆序数 也是素数的数。例如:113是一个素数,311也是一个素数,113就是无暇素数
以下是用 C 语言编写的程序,用于查找 100-900 之间的无暇素数:
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int reverse(int num) {
int rev = 0;
while (num > 0) {
rev = rev * 10 + num % 10;
num /= 10;
}
return rev;
}
int main() {
for (int i = 100; i <= 900; i++) {
if (is_prime(i) && is_prime(reverse(i))) {
printf("%d\n", i);
}
}
return 0;
}
该程序首先定义了一个函数 is_prime,用于判断一个数是否为素数。然后定义了一个函数 reverse,用于计算一个数的逆序数。最后在主函数中,循环遍历 100-900 之间的所有数,如果该数本身和它的逆序数都是素数,则输出该数。
阅读全文