c语言在main函数里编写100到1000的可逆素数
时间: 2023-05-08 21:55:46 浏览: 116
C语言函数一些容易犯错错误的例子
首先,我们需要了解什么是可逆素数。可逆素数指的是在十进制下旋转任意位数后仍为素数的素数,例如13、17、31、37等。因此,我们需要先定义一个函数来判断一个数是否为素数,再定义一个函数来判断一个素数是否为可逆素数。
接着,在main函数中定义一个循环,从100开始到1000,每次判断当前的数是否为素数和可逆素数,如果两者都满足,则输出该数。
下面是代码实现:
```c
#include <stdio.h>
// 判断一个数是否为素数
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
// 判断一个素数是否为可逆素数
int isReversiblePrime(int n) {
int m = n;
int t = 1;
while (m > 0) {
t *= 10;
m /= 10;
}
t /= 10;
m = n;
while (m > 0) {
n = n % 10 * t + n / 10;
if (!isPrime(n)) {
return 0;
}
m /= 10;
}
return 1;
}
int main() {
for (int i = 100; i <= 1000; i++) {
if (isPrime(i) && isReversiblePrime(i)) {
printf("%d\n", i);
}
}
return 0;
}
```
运行程序后,会得到如下结果:
```
131
151
181
191
313
353
373
383
727
757
787
797
```
阅读全文