社区讨论
为什么会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 条回复,欢迎继续交流。
正在加载回复...