说一下思路,去参加了这次考试,首先要思路清晰,它要求的是一定长度是否为素数,所以刚开始判断的时候就应该想到这点。
然后我是用字符串转成int,然后判断是否为素数,因为这里数量级并不大,不用筛素数。一定要注意边界
#include<iostream>
#include<string>
#include<algorithm>
#include<stdio.h>
#include<cctype>
#include<map>
#include<vector>
#include<string.h>
#include<math.h>
#include<set>
using namespace std;
int Parim(int x){ //判断素数
int t=sqrt(x);
for(int i=2;i<=t;i++){
if(x%i==0){
return 0;
}
}
return 1;
}
int main(){
int n,m;
string s,t; //用字符串保存
cin>>n>>m;
cin>>s;
for(int i=0;i<=n-m;i++){
t=s.substr(i,m); //获取从i开始的m个字符
int x=stoi(t); //string 转化为int
if(Parim(x)){
cout<<t;
return 0;
}
}
cout<<"404";
return 0;
}