Sample Input 1:
20 5
23654987725541023819
Sample Output 1:
49877
Sample Input 2:
10 3
2468024680
Sample Output 2:
404
题解:
直接枚举所有k位子字符串,判断其是不是素数,0和1不是素数,需特殊处理
#include <iostream>
#include <string>
using namespace std;
int l,k;
string str;
string temp_str;
long long num;
bool sign = false;
void isprime(long long n){
if(n== 0 || n==1) return;
for(long long i=2;i*i <=n;i++){
if(n % i == 0){
return;
}
}
sign = true;
}
int main(){
cin >> l >> k;
cin >> str;
int i=0;
for(i=0; i<=l-k && !sign;i++){
temp_str = str.substr(i,k);
num = stoi(temp_str);
isprime(num);
}
if(sign){
cout << temp_str;
}
else{
cout << 404;
}
system("pause");
return 0;
}