当前位置: 移动技术网 > 移动技术>移动开发>Android > 1094 谷歌的招聘 (20分) C++版4ms通过所有测试点

1094 谷歌的招聘 (20分) C++版4ms通过所有测试点

2020年07月09日  | 移动技术网移动技术  | 我要评论

喜欢我的文章,记得点赞+收藏+关注の,你的反馈就是我不断更新的动力!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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网