1094 谷歌的招聘 (20分) C++版4ms通过所有测试点
程序员文章站
2022-04-19 14:10:06
喜欢我的文章,记得点赞+收藏+关注の,你的反馈就是我不断更新的动力!QQ/Wechat:235 40008原题目链接:1094 谷歌的招聘 (20分)解题思路:1.从头开始截取k位字符2.如果k位字符对应的整数是素数,则输出该素数,结束程序。3.截到末尾还没有素数,则输出404。更多注解写在代码中了,代码如下:/* Copyright:Xinyuan wang Date: 2020/7/8 22:28:10 Description:1094 谷歌的招聘 (20分)*/...
喜欢我的文章,记得点赞+收藏+关注の,你的反馈就是我不断更新的动力!QQ/Wechat:235 40008
原题目链接:1094 谷歌的招聘 (20分)
解题思路:
1.从头开始截取k位字符
2.如果k位字符对应的整数是素数,则输出该素数,结束程序。
3.截到末尾还没有素数,则输出404。
更多注解写在代码中了,代码如下:
/*
Copyright:Xinyuan wang
Date: 2020/7/8 22:28:10
Description:1094 谷歌的招聘 (20分)
*/
#include<bits/stdc++.h> //万能头文件
using namespace std;
bool is_prime(int n){ //判断素数最快的判别方法
if(n == 2 || n == 3) return 1;
if(n % 6 != 1 && n%6 != 5) return 0;
for(int i = 5; i < sqrt(n); i += 6)
if(n % i == 0 || n % (i +2) == 0) return 0;
return 1;
}
int main(int argc, char** argv)
{
ios::sync_with_stdio(false);
cin.tie(0); //这2行代码目的:加快cin、cout的输入输出速度,力争最快!
int l,k;
cin >> l >> k;
string s;
cin >> s;
for(int i = 0; i <= l - k; i++){
string st = s.substr(i,k);
int m = stoi(st);
if(is_prime(m)){
cout << st; //注意输出字符串形式,像200236中找4位素数,0023算是解时,对应测试点2,如果输出整数m则不能输出前面2个0
return 0; //直接结束程序
}
}
cout << "404";
return 0;
}
喜欢我的文章,记得点赞+收藏+关注の,你的反馈就是我不断更新的动力!QQ/Wechat:235 40008
本文地址:https://blog.csdn.net/weixin_43461755/article/details/107217558