老师平时布置的希冀系统上的作业答案,仅供参考!
【问题描述】
若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断
【输入形式】
用户在第一行输入一个整数。
【输出形式】
程序在下一行输出yes或是no,yes表示此数是可逆素数,no表示不是。用户输入的数必须为正整数。注意:yes或是no全是小写输出。
【样例输入】
23
【样例输出】
no
【样例说明】
用户输入23,23各位数字颠倒之后得到32,23是素数,但32不是素数,所以23不是可逆素数。
【参考答案】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #include<stdio.h> int main() { int n,i,r=0; int num1=0,num2=0; scanf("%d",&n); int m; for(m=2;m<n;m++) { if(n%m==0) break; } if (n==m) num1=1;
for(;n !=0;) { i = n %10; r = r * 10 + i; n = n /10; } int j; for(j=2;j<r;j++) { if(r%j==0) break; } if(r==j) num2=1;
if(num1==1&&num2==1) printf("yes"); else printf("no");
}
|