为啥最后三个显示超时???在线蹲dalao
查看原帖
为啥最后三个显示超时???在线蹲dalao
642227
Qingkkkk楼主2022/4/11 09:17

啊这

#include<stdio.h>
#include<math.h>
int judge(int a)//质数判断 
{	
	int i=2;
	for(i;i<=sqrt(a);i++)
	{
		if(a%i==0)
		{
			return 0;
		}
	}
	if(i>sqrt(a))
	{
		return 1;
	}
}
int main()
{
	int m,n;
	scanf("%d%d",&m,&n);
	for(int i=m;i<=n;i++)
	{
		int d=i,c=0;//d=i防止在循环里改变i的值,c用来表示数字位数 
		if(judge(i))
		{
			int Q[15];
			for(;;c++)//用数组储存各个位置的数字 
			{
				Q[c]=d%10;
				d=d/10;
				if(d==0)
				{
					break;
				}
			}
			for(int v=0;v<=c;v++)//如果比较的位置到C/2,则输出 
			{
				if(Q[v]!=Q[c-v])
				break;
				if(v>=c/2)
				{
					printf("%d\n",i);
					break;
				}	
			}	
			
		}
	}
	return 0;
}
2022/4/11 09:17
加载中...