题目分析
- 由于K已经确定了长度,那么依次搜索满足长度要求的数字是否质数即可
代码
//得分:15
#include <iostream>
#include<cstring>
#include<math.h>
using namespace std;
int L, K;
string num;
bool check(string sub) {
//cout << "sub=" << sub << endl;
//转换为数字
int t=0;
for (int i = 0; i < sub.length(); i++) {
t = t * 10 + (sub[i] - '0');
}
//检查是否质数
for (int i = 2; i < 1+ (int)sqrt(t); i++) {
if (t % i == 0) {
return false;
}
}
return true;
}
int main()
{
cin >> L >> K;
cin >> num;
bool find = false;
for (int i = 0; i < num.size()-K; i++) {
string sub = num.substr(i, K);
if (check(sub)) {
find = true;
cout << sub << endl;
break;
}
}
if (!find)cout << "404" << endl;
return 0;
}