程序设计
找出100-900之间的无暇素数。所谓无暇素数是指本身为素数,且其逆序数也是素数的数。例如:113是个素数,311也是个素数,113就是无暇素数。
编程思路
定义两个函数:isPrime用于判断一个数是否为素数,reverseNumber用于将一个数逆序。
isPrime函数通过遍历从2到根号下num的数,判断num是否能被这些数整除来判断num是否为素数。如果存在能整除num的数,则num不是素数,返回0;否则,num是素数,返回1。
reverseNumber函数通过循环取num的个位数并逐步构建逆序数。
在主函数main中,我们遍历100到900之间的数,对于每个数,判断它是否为素数且其逆序数也是素数。如果满足条件,则输出该数。
源代码:
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int reverseNumber(int num) {
int reverse = 0;
while (num > 0) {
reverse = reverse * 10 + num % 10;
num /= 10;
}
return reverse;
}
int main() {
printf("无暇素数:\n");
for (int num = 100; num <= 900; num++) {
if (isPrime(num) && isPrime(reverseNumber(num))) {
printf("%d\n", num);
}
}
return 0;
}
运行截图
![图片[1]-C语言找出100-900之间的无暇素数案例-QQ沐编程](https://www.qqmu.com/wp-content/uploads/2023/10/wuxia.png)
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END












