打表错误
查看原帖
打表错误
218963
YGHcode楼主2020/8/1 22:55

想打表输出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;
} 
2020/8/1 22:55
加载中...