社区讨论

为什么会T 玄关

P7960[NOIP2021] 报数参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m3bgohdm
此快照首次捕获于
2024/11/10 18:38
去年
此快照最后确认于
2025/11/04 14:57
4 个月前
查看原帖
筛法
CPP
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=1e7+5;
int no[N];
bool is7(int x){
	if(x%10==7) return true;
	else if(x>10)
		return is7(x/10);
	else return false;
}
int t,x;
int nxt[N];
signed main(){
//	freopen("number.in","r",stdin);
//	freopen("number.out","w",stdout);
	scanf("%d",&t);
	for(int i=1;i<N;i++){
		if(is7(i)||i%7==0){
			for(int j=1;j*i<N;j++){
				no[i*j]=1;
			}
		}
	}
	int a=1;
	for(int i=2;i<=1e7+50;i++){
		if(!no[i]){
			nxt[a]=i;
			a=i;
		}
	}
	for(int i=1;i<=t;i++){
		cin>>x;
		if(no[x]) cout<<-1<<endl;
		else	cout<<nxt[x]<<endl;
	}
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...