求助:77分 #7 #9 TLE
查看原帖
求助:77分 #7 #9 TLE
1048191
y3106130271楼主2023/10/22 13:57
#include<stdio.h>
#include<math.h>

int w[15];
int main()
{
	int a,b,num;
	int tot=0;
	scanf("%d %d",&a,&b);
	for (int i=a;i<=b;i+=2)
	{
		if(i%2==0)
		{
			i++;
		}
		else
		{
			int n=0;
			num=i;
			while(num>0)
			{
				n++;
				w[n]=num%10;//提每位数字
				num/=10;
			}
			tot=0;
			for(int j=n;j>0;j--)
			{
				tot+=w[j]*pow(10,n-j);
			}
			if(i==tot)//找回文
			{
				for(int k=3;k<=sqrt(i);k+=2)
				{
					if(i%k==0&&i!=k)//找质数
					{
						tot=0;
						break;
					}
				}
				if(tot!=0)
				printf("%d\n",i);
			}
		}
	
	}
	return 0;
}
2023/10/22 13:57
加载中...