编写程序找出100~1000之间的所有可逆的素数。
编写程序找出100~1000之间的所有可逆的素数。要求判断素数、颠倒顺序的功能分别用自定义函数来实现。(可逆函数是指一个素数的各位数值顺序颠倒后得到的数仍为素数。例如(113,311))
[解决办法]
写2个函数,一个判断是否素数,一个判断是否可逆数,然后遍历,符合2个条件的选出来
[解决办法]
网上有很多类似的程序
从 2 到 n 的平方根一个一个用作除数去试,判断是否是素数
其余的应该不难的
[解决办法]
#include <stdio.h>#include <math.h>bool isPrime(int n){ int j; j=(int)sqrt(n); for(int i=2;i<=j;i++) { if(n%i==0) { return false; } } return true;}int fun(int n){ int a,b,c; a=n/100; b=n%100/10; c=n%10; return c*100+b*10+a;}int main(){ int i,cnt=0; for (i=101; i<1000; i+=2) { if (isPrime(i)&&isPrime(fun(i))) { printf("%d %d ",i, fun(i)); cnt++; } if (cnt==8) { cnt=0; printf("\n"); } } printf("\n"); return 0;}