版本1
截取N位长的数字,判断是否为素数。
主要不用直接用cout输出substr,因为有可能会去掉首部的前导零。
#include <cstdio>
#include <cmath>
#include <iostream>
#include <string>
using namespace std;
bool isprime(int n){
if(n <= 1) return false;
int sq = sqrt(n);
for(int i = 2; i <= sq; i++){
if(n% i == 0) return false;
}
return true;
}
int main(){
int m, n;
string str;
scanf("%d%d", &m, &n);
int t = m - n;
cin>>str;
bool flag = false;
for(int i = 0; i <= t; i++){
string temp = str.substr(i, n);
int u = stoi(temp);
if(isprime(u)){
cout<<temp<<endl;
flag = true;
break;
}
}
if(!flag) cout<<"404"<<endl;
return 0;
}