试题 算法训练 P0704
资源限制
时间限制:1.0s 内存限制:256.0MB
一个数如果从左往右读和从右往左读数字是完全相同的,则称这个数为回文数,比如898,1221,15651都是回文数。编写一个程序,输入两个整数min和max,然后对于min~max之间的每一个整数(包括min和max),如果它既是一个回文数又是一个质数,那么就把它打印出来。要求,回文数和质数的判断都必要要用函数的形式来实现。
输入:
5 100
输出:
5 7 11
#include<stdio.h>
bool huiwen(int n)
{
int i=0,j=n;
while(n)
{
i=i*10+n%10;
n/=10;
}
if(i==j)return true;
else return false;
}
bool panz(int n)
{
if(n==1)return false;
int i;
for(i=2;i<n;i++)
{
if(n%i==0)return false;
}
return true;
}
int main()
{
int min,max,i;
scanf("%d %d",&min,&max);
for(i=min;i<=max;i++)
if(huiwen(i)&&panz(i))printf("%d ",i);
return 0;
}
回文数的基本判断法