设计一个C++程序找出100-900之间的无暇素数
时间: 2024-05-27 10:14:26 浏览: 49
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) return 0;
for (int i = 2; i*i <= n; i++) {
if (n % i == 0) return 0;
}
return 1;
}
int is_palindrome(int n) {
int m = n, r = 0;
while (m > 0) {
r = r*10 + m%10;
m /= 10;
}
return n == r;
}
int main() {
for (int n = 100; n <= 900; n++) {
if (is_prime(n) && is_palindrome(n)) {
printf("%d\n", n);
}
}
return 0;
}
相关问题
设计一个程序找出100-900之间的无暇素数
以下是一个Python程序,可以找出100-900之间的无暇素数:
```python
import math
def is_prime(n):
# 判断一个数是否为素数
if n < 2:
return False
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
def is_palindrome(n):
# 判断一个数是否为回文数
return str(n) == str(n)[::-1]
# 找出100-900之间的无暇素数
for i in range(100, 901):
if is_prime(i) and is_palindrome(i):
print(i)
```
程序首先定义了两个函数,`is_prime`用于判断一个数是否为素数,`is_palindrome`用于判断一个数是否为回文数。
然后程序使用一个循环遍历100-900之间的所有数,对于每个数,如果它既是素数又是回文数,则打印出来。
输出结果如下:
```
101
131
151
181
191
313
353
373
383
727
757
787
797
```
用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 之间的所有数,如果该数本身和它的逆序数都是素数,则输出该数。
阅读全文