答案跟题解里打的表一样啊…

#include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include <string>
#define MAX 2000
#define state(a,b)able[a][b]

using namespace std;

bool zs(long long n){
if(n==1)return 0;
if(n==2){

return 1;
}
else {
for(long long i = 2;i<n;i++){
if(!(n%i)){
return 0;
break;
}
}
}
return 1;
}
int main(){long long n;

cin>>n;
long long i;
int sqr[10];

for(int j = 0;j<n+1;j++){
sqr[j]=pow(10,j);
}
for(i = 2*sqr[n-1];i<sqr[n];){
for(int j = n-1;j>=0;j--){
if(!zs(i/sqr[j])){
i+=sqr[j];
break;
}
if(j==0){
cout<<i<<endl;
i++;
}
}
}
}

0 条评论

目前还没有评论...

信息

ID
1359
难度
3
分类
搜索 | 枚举数论 点击显示
标签
(无)
递交数
1975
已通过
946
通过率
48%
被复制
6
上传者