老师平时布置的希冀系统上的作业答案,仅供参考!
【问题描述】
若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断
【输入形式】
用户在第一行输入一个整数。
【输出形式】
程序在下一行输出yes或是no,yes表示此数是可逆素数,no表示不是。用户输入的数必须为正整数。注意:yes或是no全是小写输出。
【样例输入】
23
【样例输出】
no
【样例说明】
用户输入23,23各位数字颠倒之后得到32,23是素数,但32不是素数,所以23不是可逆素数。
【参考答案】
#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");
//printf("\n%d",num1); //用于结果检测
//printf("\n%d",num2);
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容