求助,最后一个超时了应该怎么改
查看原帖
求助,最后一个超时了应该怎么改
661478
xifeng2003楼主2022/1/29 11:27

已经排除了偶数的情况,运用了开根号法判断素数,怎么改才能更快?

#include <stdio.h>
int disorder(int n)
{
	int m=0,t;
	while(n>0){
		t=n%10;
		n=n/10;
		m=m*10+t;
	}
	return m;
}
int find(int n)
{
	int flag=1,i;
	for(i=2;i*i<=n;i++){
			if(n%i==0){
				flag=0;
				break;
			}
		}
		return flag;
}
int main()
{
	int x,y,i,t,flag=0;
	scanf("%d %d",&x,&y);
	if(x%2==0) i=x+1;
	else i=x;
	for(;i<=y;i+=2){
		flag=0;
		t=disorder(i);
		if(t==i&&find(i)==1) printf("%d\n",i);
	}
	return 0;
}
2022/1/29 11:27
加载中...