前言

传送门

正文


参考题解

#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;
}