求助大佬,第九个点tle
查看原帖
求助大佬,第九个点tle
82817
Leonard7楼主2020/8/31 16:44
#include <stdio.h>
#include <math.h>

bool prime[100000005];

int pd(int x){
	int y = x;
	int z = 0;
	while(x != 0){
		z = z * 10 + x % 10;
		x = x / 10;
	}
	if(z == y) return 1;
	else return 0;
}

int main(){
	int a, b;
	scanf("%d%d", &a, &b);
	
	for(int i = 0; i <= b; i++) prime[i] = 1;
	prime[0] = 0;
	prime[1] = 0;
	for(int i = 2; i <= b; i++){
		if(prime[i] == 0) continue;
		else for(int j = i * 2; j <= b; j += i){
			prime[j] = 0;
		}
	}
	if(a % 2 == 0){
		if(pd(a) && prime[a] == 1) printf("%d\n", a);
		a = a + 1;
	}
	for(int i = a; i <= b; i+=2){
		if(pd(i) && prime[i] == 1) printf("%d\n", i);
	}
	return 0;
} 

求助大佬,能不通过剪枝用埃筛过这道题吗?有什么方法吗?

2020/8/31 16:44
加载中...