素数

来源:互联网 发布:只有bluetooth网络连接 编辑:程序博客网 时间:2024/06/05 05:29

题目描述

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

输入

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

输出

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

示例输入

13411-30

示例输出

TrueFalseFalseFalse

提示

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

 

  1. #include <stdio.h>  
  2.   
  3. #include <math.h>  
  4.   
  5. int main()  
  6.   
  7. {  
  8.   
  9.     int a,n,i,j,k,l,count,sum,m,s,flag,nut,x;  
  10.   
  11.     while(scanf("%d",&n)!=EOF&&n)  
  12.   
  13.     {  
  14.   
  15.         if(n<=1) printf("False\n");  
  16.   
  17.         else  
  18.   
  19.         {  
  20.   
  21.         flag=1;  
  22.   
  23.         nut=1;  
  24.   
  25.         a=n;  
  26.   
  27.         sum=0;  
  28.   
  29.         m=n;  
  30.   
  31.         count=1;  
  32.   
  33.   
  34.   
  35.         while(n/10!=0)  
  36.   
  37.         {  
  38.   
  39.             count++;  
  40.   
  41.             n=n/10;  
  42.   
  43.         }  
  44.   
  45.         while(m/10!=0)  
  46.   
  47.         {  
  48.   
  49.             s=m%10;  
  50.   
  51.             sum=sum+s*pow(10,count-1);  
  52.   
  53.             m=m/10;  
  54.   
  55.             count--;  
  56.   
  57.         }  
  58.   
  59.         x=sum+m;  
  60.   
  61.         for(i=2;i<=(a);i++)  
  62.   
  63.         {  
  64.   
  65.             if(a%i==0)  
  66.   
  67.             {  
  68.   
  69.                 flag=0;  
  70.   
  71.                 break;  
  72.   
  73.             }  
  74.   
  75.         }  
  76.   
  77.         if(i>=a) flag=1;  
  78.   
  79.             for(l=2;l<=(x);l++)  
  80.   
  81.             {  
  82.   
  83.                 if(x%l==0)  
  84.   
  85.                 {  
  86.   
  87.                     nut=0;  
  88.   
  89.                     break;  
  90.   
  91.                 }  
  92.   
  93.             }  
  94.   
  95.             if(l>=x) nut=1;  
  96.   
  97.           
  98.   
  99.         if(flag&&nut) printf("True\n");  
  100.   
  101.         else printf("False\n");  
  102.   
  103.         }  
  104.   
  105.     }  
  106.   
  107.     return 0;  
  108.   
  109. }  
  110.   
  111.    

 

0 0
原创粉丝点击