萌新求解
查看原帖
萌新求解
273056
splendid_followers楼主2021/3/20 18:20

为什么我的代码只要b是六位数往上就算不出后面的回文质数,不管输入多大的b最多只能输出到929

#include<iostream>
using namespace std;
int main()
{
	long long n,zs;
	long long a,b;
	cin>>a>>b;
	if(a%2==0)
	{
		a=a+1;
	}
	for(int i=a;i<=b;i=i+2)
	{
		bool hws=1;
		bool szs=1;
		int tp;
		tp=i;
		if(i<10)
		{
			if(i==5||i==7)
			cout<<i<<endl;
			hws=0;
			continue;
		}
		else
		{
			long long dq[200];
			dq[0]=tp%10;
			long long ji=1;
			while(tp!=0)
			{
				dq[ji]=tp/10;
				tp=tp/10;
				if(tp<10)
				{
					break;
				}
				ji++;
			}
			for(int jj=0;jj<=ji;jj++)
			{
				if(dq[jj]!=dq[ji-jj])
				{
					hws=0;
				}
			}
		}	
		if(hws==1)
		{
			for(int j=2;j<i;j++)
			{
				if(i%j==0)
				{
					
					szs=0;
				}
			}
		}
		else
		{
			szs=0;
		}
		if(szs==1&&hws==1)
		{
			cout<<i<<endl;
		}
	}
}
2021/3/20 18:20
加载中...