URL:1152 Google Recruitment (20 point(s))
Matter:
1.注意输出的时候可能位数不够,需要输出整个的数据需要用cout。我在这个地方测试的时候发现这个int会卡数据。
2.stoi用法。
3.substr用法。
4.输入素数的时候注意对于0/1的判断。这个地方得是 <=n 的数字。
Coding:
#include<iostream>
#include<string>
using namespace std;
bool isprime(int n){
if(n == 0 || n == 1) return false;
for(int i = 2 ; i * i <= n ; i ++){
if(n % i == 0){
return false;
}
}
return true;
}
int main(){
int l , k ;
string number;
cin >> l >> k >> number;
for(int i = 0 ; i + k<= l; i ++){
string temp1 = number.substr(i , k);//get out//
int temp2 = stoi(temp1);//transfer//
if(isprime(temp2) == true){
cout << temp1;//这个地方注意位数不够,得用cout来做//
return 0;
}
}
printf("404");
return 0;
}