1445素数

来源:互联网 发布:阿里云虚拟主机管理 编辑:程序博客网 时间:2024/05/29 11:25

题目描述

质数又称素数,是指一个大于的自然数,除了1和此整数自身外,不能被其他自然数整除的数。对于一个给定的十进制整数,如果这个数是素数且它逆置后的整数也为素数,那么输出“True”,否则输出“False”

输入

输入包含多组测试数据。
每组数据只有一行为 1 个整数 n( |n| < 10000)。
输入 0 代表输入的结束,该组数据不做处理。 

输出

对于每组测试数据,按照题目描述输出对应的结果。

示例输入

13411-30

示例输出

TrueFalseFalseFalse

提示

#include<stdio.h>
int main()
{
int t,m,i,n,a,b,c,d,s;
while(scanf("%d",&m)&&m)
{
if(m<=1)
printf("False\n");
else
{
n=1;
for(i=2;i<m/2;i++)
{
if(m%i==0)
n=0;
}
if(n==1)
{
t=1;
      if(m<=10)
  {
  for(i=2;i<=m/2;i++)
if(m%i==0)
{t=0;break;}
  }
       else if(m>=10&&m<=100)
{
a=m%10;b=m/10%10;
                s=a*10+b;
    for(i=2;i<=s/2;i++)
if(s%i==0)
{t=0;break;}
}
         else if(m>=100&&m<=1000)
 {
 a=m%10;b=m/10%10;c=m/100%10;
           s=a*100+b*10+c;
     for(i=2;i<=s/2;i++)
    if(s%i==0)
 {t=0;break;}
 }
                else if(m>=1000&&m<=10000)
{
a=m%10;b=m/10%10;c=m/100%10;d=m/1000%10;
                 s=a*1000+b*100+c*10+d;
             for(i=2;i<=s/2;i++)
            if(s%i==0)
{t=0;break;}
}
}


if(t==1&&n==1)
printf("True\n");
else 
printf("False\n");
}

}

return 0;
}
0 0
原创粉丝点击