再快0.01s……
查看原帖
再快0.01s……
409774
Maysoul楼主2022/2/10 17:34

最后一个点卡点TLE了,求一个大佬让它再快0.01s

不知道为什么,开O2会RE掉。

printf和cout差别不大,已经尝试过了。

读入格式已经优化过了。

图为一生之敌:

#include<iostream>
#include<cmath>
using namespace std;
bool flag=1;
int c[13673];
int k=0;
int read()
{
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-'){w=-1;}ch=getchar();}
	while(ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getchar();}
	return s*w;
}
void hz(int j)
{
	for(int i=2;i<sqrt(j)+0.5;i++)
	{
		if(j%i==0)
		{
			flag=0;
			break;
		}
	}
	if(flag)
	{
		printf("%d\n",j);		
	}
	flag=1;
}
void hw(int v,int s)
{
	
	for(int j=v;j<=s;j++)
	{	
		int e=j;
		int y,z=0;
		while(e)
		{
			y=e%10;
			e/=10;
			z=z*10+y;
		}
		if(j==z)
		{
			c[k]=j;
			k++;
		}
	}
	
}
int main()
{
	int a=read(),b=read();
	hw(a,b);
	for (int i=0;i<k;i++)
	{
		hz(c[i]);
	}
	return 0;
}
2022/2/10 17:34
加载中...