以后素数判断就i*i<=num 吧,i<num最后个点会超时。可能是溢出的原因。
#include<bits/stdc++.h>
using namespace std;
string n;
int k,m;
int isp(string ans){
int num=stoi(ans);
if(num<2) return 0;
for(int i=2;i*i<num;i++){ //i<num 过不了
if(num%i==0) return 0;
}
return 1;
}
int main(){
cin>>k>>m>>n;
for(int i=0;i<=k-m;i++){
if(isp(n.substr(i,m))){
printf("%s\n",n.substr(i,m).c_str());
return 0;
}
}
printf("404\n");
return 0;
}