素数

来源:互联网 发布:费用优化例题 编辑:程序博客网 时间:2024/05/17 01:50

素数

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

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

输入

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

输出

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

示例输入

13411-30

示例输出

TrueFalseFalseFalse

提示

注意题目数据范围及素数的定义。

来源

qinchuan

示例程序

 
#include<stdio.h>  #include<math.h>  int set(int n)  {      int i;      for(i=2;i<=sqrt(n);i++)          if(n%i==0)              break;          if(i>sqrt(n))          return 1;          else              return 0;  }  int com(int n)  {      int m=0,i,b,c,d,j=0,a[6];      for(i=1;n>=1;i++)      {          a[i]=n%10;          n=n/10;          j++;      }      d=1;      for(i=j;i>=1;i--)      {          c=1;  for(b=1;b<i;b++)  {      c*=10;  }  m+=a[d++]*c;      }      return(m);  }  int main()  {      int n,i,j,m;      while(scanf("%d",&n)&&n)      {          m=0;          if(n<=1)  m=1;          else          {              if(set(n)==1&&set(com(n))==1)                  printf("True\n");          else                  printf("False\n");          }      if(m==1)      {       printf("False\n");          }      }  }  

0 0