同时判断回文,思路上也没问题,为什么注释的方发WA了?第一种方法 和 第二种方法
#include <stdio.h>
#include <math.h>
int sushu (int n)
{
if(n==2) return 1;
if(n%2==0) return 0;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0) return 0;
}
return 1;
}
int huiwen (int n)
{
//采用数组,进行数组元素的比较
int a[12];
int flag=1;
while(n>0)
{
a[flag]=n%10;
n/=10;
flag++;
}
for(int i=1;i<=flag/2;i++)
{
if(a[i]!=a[flag-i]) return 0;
}
return 1;
//进行数字反转,绕后将反转数与原数比较
/*
int sum=0;
while(n!=0)
{
sum=sum*10+n%10;
n=n/10;
}
if(sum==n) return 1;
else return 0;
*/
}
int main ()
{
int a,b;
scanf("%d %d",&a,&b);
for(int i=a;i<=b;i++)
{
if(i==9989900) break;
if(huiwen(i)&&sushu(i))
printf("%d\n",i);
}
}