前言
正文
参考题解
#include<iostream>
#include<cmath>
using namespace std;
/* 题意: 给出L位的数字n,求其连续k位的素数 思路:用string存储原字符串,遍历字符串,使用substr获取长度为k的子字符串, 依次判断该子字符串代表的数是否是素数。注意边界是l-k+1 */
bool isPrime(int n){
if(n<=1)return false;
for(int i=2,j=(int)sqrt(n*1.0);i<=j;i++){
if(n%i==0)return false;
}
return true;
}
int main(){
int l,k;
cin>>l>>k;
string str;
cin>>str;
int i;
for(i=0;i<l-k+1;i++){
string s=str.substr(i,k);
int temp=stoi(s);
if(isPrime(temp)){
cout<<s<<endl;
break;
}
}
if(i==l-k+1){
cout<<"404"<<endl;
}
return 0;
}