蒟蒻求助:最后一个测试点re,数组已经开最大了怎么办
查看原帖
蒟蒻求助:最后一个测试点re,数组已经开最大了怎么办
377902
kc0205楼主2022/6/12 07:56
#include<bits/stdc++.h>
using namespace std;

int prime[10000005];//检查是不是质数 
int check[10000005];//保存已经确认的质数 

bool PD_num(int x){ // 判断回文数 
    int y = x,num = 0;
    while (y != 0){
        num = num * 10 + y % 10;
        y /= 10;
    } 
    if(num == x){
    	return 1;
	}else{
		return 0;
	}
}

int main(){
 
	int n,cnt = 0,m;
	cin >> m >> n;
	for(int i = 2;i <= n;i++){
		if(prime[i] == 0){
			check[cnt++] = i;
		}
		for(int j = 0;j < cnt;j++){
			if(i * check[j] > n){
				break;
			}
			prime[i * check[j]] = 1;
			if(i % check[j] == 0){
				break;
			}
		}
	}
	//从0到m中的质数个数
	//质数已保存在数组check中
	
	for(int i = 0;i < cnt;i++){
		if(PD_num(check[i]) && check[i] >= m && check[i] <= n){
			cout << check[i] << endl;
		}
	}
	
	return 0;
}
2022/6/12 07:56
加载中...