1152 Google Recruitment
解题思路
这道题是一道字符串处理题,由于这里已经给出了固定长度k,所以我们只要对字符串从头到尾遍历一遍就行了
刚开始我还打算用暴力枚举,后来发现完全不需要。只需要用substr函数提取出每个以i开头,长度为k的子串,转换为整数后,判断是不是素数就可以了。
ac✅️代码
#include<iostream>
#include<string>
using namespace std;
//不会溢出,存数要用字符串,然后转变为整数
bool is_Prime(int x)
{
if( x < 2 ) return false;
for(int i = 2 ; i <= x/i ; i ++)
{
if(x % i == 0) return false;
}
return true;
}
int main()
{
int n,k;
cin>>n>>k;
string str;
cin>>str;
//注意这里是小于等于
for(int i = 0 ; i <= n - k; i ++)
{
string tar = str.substr(i , k);
if(is_Prime(stoi(tar)))
{
cout<<tar<<"\n";
return 0;
}
}
cout<<"404\n";
return 0;
}

浙公网安备 33010602011771号