用c++写出判断素数的程序
时间: 2023-05-17 15:05:48 浏览: 104
以下是用 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-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 之间的所有数,如果该数本身和它的逆序数都是素数,则输出该数。
用C++写出输入n个数字,输出其中素数的数量 输入描述 一个正整数n, 然后是n个正整数。 输出描述 一个整数,表示n个正整数中素数的数量。不要换行。
在C++中,我们可以编写一个程序来计算输入的一组正整数中有多少个是素数。下面是一个简单的示例,它首先读取`n`,然后读取并检查每个数字是否为素数:
```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 countPrimes(int n) {
int primeCount = 0;
int inputNum;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> inputNum;
if (isPrime(inputNum))
primeCount++;
}
cout << primeCount; // 输出结果,不需要换行
}
int main() {
int n;
countPrimes(n); // 调用函数处理输入
return 0;
}
```
在这个程序中,`isPrime`函数用于判断一个给定的数字是否为素数,而`countPrimes`函数则负责读取输入、计数素数,并最终输出结果。
阅读全文