知识点
字符串截取 a = s.substr(i,k)
第i个起,截取k个
Dev C++ 里不能用 string头文件里函数的原因:
编译器问题
工具——编译选项——代码生成/优化——代码生成——语言标准(-std),选择ISO C++11。
注意不是编译器选项
0,1都不是素数,不是素数
刚开始有个点不过,测试查看后是输出结果的地方,我直接输出了数字,不是输出字符串,这样的话,假设出现002情况,我就只输出了2,就错了
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int l,k;
string r;
bool isprime(int a){
if(a == 0 || a == 1) return false;
for(int i=2; i*i<=a; i++){
if(a%i == 0) return false;
}
return true;
}
int main(){
cin >> l >> k >> r;
for(int i=0; i<=l - k; i++){
string a = r.substr(i,k);
int sum = stoi(a);
if(isprime(sum)){
cout << a;
return 0;
}
}
printf("404");
return 0;
}