想打表输出2到1亿之间的回文质数,但是代码不知道出了什么问题,判断回文数时出了错。把while到flag=1之间的代码删掉,光输出质数是对的。查了半天没找出错误,求指点错误,谢谢。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("2.doc","w",stdout);
for (int i=2;i<=100000000;i++)
{
int flag=0,a=i,b=0;
while(a!=0)
{
b=b*10+a%10;
a=a/10;
}
if(i==b) flag=1;
for (int j=2;j*j<=i;j++)
{
if(i%j==0) flag++;
if(flag!=0) break;
}
if(flag==0) {
printf("%d",i);
printf(" ");
}
}
return 0;
}