1445素数练习

来源:互联网 发布:淘宝网针织护腰带 编辑:程序博客网 时间:2024/05/17 01:57

素数

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

题目描述

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

输入

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

输出

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

示例输入

13411-30

示例输出

TrueFalseFalseFalse

代码如下:

#include<stdio.h>

int nizhi(int p);
int sushu(int q);
int main()
{
int n, x, y, m;
while(scanf("%d", &n)!=EOF)
{
if(n == 0) break;
else if(n < 0)
printf("False\n");
else if(n == 1)
printf("False\n");
else
{
x = sushu(n);
m = nizhi(n);
y = sushu(m);
if(x == 1 && y == 1)
printf("True\n");
else
printf("False\n");
}
}
return 0;
}
int sushu(int p)
{
int i, x = 1;
for(i = 2; i < p; i++)
{
if(p % i == 0)
{
x = 0;
break;
}
}
return x;
}
int nizhi(int q)
{
int s = 0, a;
do
{
a = q % 10;
s = s * 10 + a;
q = q / 10;
}
while(q > 0);
return s;
}