思路:根据长度截取片段并转化为数字,然后判断数字。
唯一要注意的是:别忘了前面补0
#include <bits/stdc++.h>
using namespace std;
const int INF=100000000;
const int maxn=1111111;
int t[2222222];
bool is_prime(int t);
int main() {
int l,k;
cin>>l>>k;
string s;
cin>>s;
int flag=1;
for(int i=0;i<s.length();i++){
if(i+k<=l){
int t=stoi(s.substr(i,k));
if(is_prime(t)){
//printf("当前\n",t);
flag=0;
//cout<<t<<endl;
cout<<setw(k)<<setfill('0')<<t<<endl;
break;
}
}
}
if(flag) cout<<404<<endl;
return 0;
}
bool is_prime(int t){
for(int i=2;i<sqrt(t);i++){
if(t%i==0){
return false;
}
}
return true;
}