求助,最后一个点TLE了
查看原帖
求助,最后一个点TLE了
1035265
LX_test楼主2024/11/27 10:14
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
typedef pair<int,int> PII;
vector<PII> add,query;
vector<int> pri;
vector<bool> vis;
void prime(int a,int b) {
	vis.resize(b + 1, 0);
	for (int i = 2; i <= b; i++) {
		if(!vis[i]) pri.push_back(i);
		for (int j = 0;i*pri[j] <= b; j++) {
			vis[i*pri[j]] = 1;
			if(i%pri[j] == 0) break;
		}
	}
}

bool work(int n) {
	vis[1] = 1;
	while(n) {
		if(vis[n]) {
			return false;
		}
		n = n/10;
	}
	return true;
}
void solve() {
	int n;
	cin >> n;
	int a =1,b =1;
	for (int i = 1; i < n; i++) {
		a = a*10;
	}
	b = a * 10 -3;
	prime(a,b);
//	cout << a << " " << b ;
	for (int i = a; i <= b; i++) {
		if(work(i)) {
			cout << i << endl;
		}
	}
}
signed main(){
	ios::sync_with_stdio(0); 
	cin.tie(0), cout.tie(0); 
	int t=1;
	//cin>>t;
	while(t--) solve();
	system("pause");
	return 0;
}
2024/11/27 10:14
加载中...