关闭

1445素数练习

标签: c语言编程
683人阅读 评论(0) 收藏 举报

素数

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

题目描述

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

输入

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

输出

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

示例输入

13
41
1
-3
0

示例输出

True
False
False
False

代码如下:

#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;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:472775次
    • 积分:11439
    • 等级:
    • 排名:第1352名
    • 原创:641篇
    • 转载:3篇
    • 译文:0篇
    • 评论:149条
    最新评论