素数
来源:互联网 发布:费用优化例题 编辑:程序博客网 时间: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