立志用最少的代码做更高效的表达


PAT乙级最优题解——>传送门


2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。

自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921… 其中粗体标出的 10 位数就是答案。

本题要求你编程解决一个更通用的问题:从任一给定的长度为 L 的数字中,找出最早出现的 K 位连续数字所组成的素数。

输入格式:
输入在第一行给出 2 个正整数,分别是 L(不超过 1000 的正整数,为数字长度)和 K(小于 10 的正整数)。接下来一行给出一个长度为 L 的正整数 N。

输出格式:
在一行中输出 N 中最早出现的 K 位连续数字所组成的素数。如果这样的素数不存在,则输出 404。注意,原始数字中的前导零也计算在位数之内。例如在 200236 中找 4 位素数,0023 算是解;但第一位 2 不能被当成 0002 输出,因为在原始数字中不存在这个 2 的前导零。

输入样例 1:
20 5
23654987725541023819
输出样例 1:
49877
输入样例 2:
10 3
2468024680
输出样例 2:
404


这里我用了O根号n的时间复杂度去判断素数, 实际上如果上9位数+1000位字符串的极限数据是过不了的, 但最后耗时却非常小, 怀疑O(n^2)的复杂度也能过QAQ


#include<bits/stdc++.h>
using namespace std;
int isPrime(int n) {int i;for (i = 2; i*i <= n&&n%i; i++);if (n < 2 || i*i <= n)return 0;return 1;
}int main() {int len, k; cin >> len >> k;string s1, s2; cin >> s1;for(int i = 0; i <= len-k; i++) {s2 = s1.substr(i, k);stringstream ss(s2);int num; ss >> num; ss.clear();if(isPrime(num)) {printf("%0*d", k, num);goto loop;} }cout << "404\n";loop : ;return 0;
}

耗时


每日一句

每一个不曾起舞的日子,都是对生命的辜负~

1094 谷歌的招聘 (20分)_25行代码AC相关推荐

  1. 【简便解法】1089 狼人杀-简单版 (20分)_25行代码AC

    立志用最少的代码做最高效的表达 PAT乙级最优题解-->传送门 以下文字摘自<灵机一动·好玩的数学>:"狼人杀"游戏分为狼人.好人两大阵营.在一局"狼人 ...

  2. 【简便代码】1064 朋友数 (20分)_25行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的" ...

  3. PAT 1094 谷歌的招聘 (20 分) c语言

    思路是用一个字符串储存输入的正整数,写一个函数求连续几位的值(结合指针),再用一个函数判断是否为素数,求得第一个素数,细节写在注释里了,这次的测试点没什么问题,要注意字符串所取长度的问题,一定要取到所 ...

  4. PAT 乙级 1094 谷歌的招聘 (20分)

    我的个人网站 Cheese的个人主页http://www.cheese.ren/ 博客来源 PAT 乙级 1094 谷歌的招聘-Cheese的个人博客PAT 乙级 1094 谷歌的招聘 C++http ...

  5. 1081 Rational Sum (20 分)_22行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Given N rational numbers in the form numerator/denominator, you a ...

  6. PAT乙级 | 1094 谷歌的招聘 (20分)

    2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘.内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e ...

  7. 1094 谷歌的招聘 (20分)

    输入格式: 输入在第一行给出 2 个正整数,分别是 L(不超过 1000 的正整数,为数字长度)和 K(小于 10 的正整数).接下来一行给出一个长度为 L 的正整数 N. 输出格式: 在一行中输出 ...

  8. 【PAT乙级】1094 谷歌的招聘 (20 分)

    题目地址 #include<bits/stdc++.h> using namespace std; int n,k; string s; bool check(string s) {lon ...

  9. 【测试点分析】1067 试密码 (20分)_20行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实 ...

最新文章

  1. 为什么用B+树做索引MySQL存储引擎简介
  2. is NULL , is NOT NULL 有时索引失效 || in 走索引, not in 索引失效 ||单列索引和复合索引 || 查看索引使用情况
  3. ubuntu19.10安装remarkable
  4. mysql 是否为空字符串_MySql判断是否为null或空字符串
  5. 前端工程师必须要知道的SEO技巧(2):制作比设计还要漂亮的代码(内容和语义化代码)上...
  6. java如何进行字符串拼接?
  7. Anaconda3安装后,解决cmd中jupyter,pip,python不是内部命令以及jupyter更改默认路径问题
  8. Java基础——构造代码块
  9. java if else 过多_Java利用策略模式优化过多if else代码
  10. ffmpeg文档1:制作屏幕录像
  11. vbs if 不等于_(四)if 判断与逻辑运算符
  12. 如何查看Dll中包含了哪些函数
  13. 项目从 tomcat7部署到tomcat8
  14. 计算机专业博士后 解决北京户口,在职博士后落北京户口可以么?该如何操作
  15. 【读书】2020年阅读记录
  16. 【Python数据科学 | 11】应用实战:我的第一个开源项目-基金定投回测工具
  17. 腾讯笔试算法题-开锁
  18. jdom操作xml实战
  19. Android App 链式唤醒分析
  20. MySQL 一键卸载

热门文章

  1. C++ STL : 模拟实现STL中的string类
  2. 《MySQL实战45讲》基础理论篇 1-8讲 学习笔记
  3. 面试官:你对MySQL高性能优化有什么规范建议?
  4. Java集合框架:总结
  5. STL中算法锦集(三)
  6. 王立众:学习多媒体开发从编解码开始
  7. 深入了解Token认证的来龙去脉
  8. 解读直播连麦与点播加密
  9. redis 慢查询日志
  10. 定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句