【C语言】之''判断可逆素数''

老师平时布置的希冀系统上的作业答案,仅供参考!

【问题描述】

若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断

【输入形式】

用户在第一行输入一个整数。

【输出形式】

程序在下一行输出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
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容