7-133 谷歌的招聘

简介: 7-133 谷歌的招聘

7-133 谷歌的招聘 (20 分)


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
 2468001680


结尾无空行


输出样例 2:


404


结尾无空行


n刷


#include<bits/stdc++.h>
using namespace std;
int n ,m;
string s ,t;
int isprime (int x) {
    if(x < 2 ) return 0;
    for (int i = 2; i <= x / i ; i++)
        if (x % i == 0)
            return 0;
    return 1;
}
int main () {
    cin >> n >> m;
    cin >> s;
    for(int i= 0; i <= n - m; i++) {
        int num = 0;
        for (int j = i;  j < i + m ; j++ ) 
            num = num * 10 + (s[j] - '0');
        if (isprime(num)) {
            cout.width(m);
            cout.fill('0');
            cout  << num;
            return 0;
        }
    }
    cout << 404;
    return 0;
} 


#include<iostream>
#include<string>
using namespace std;
bool isprime(int x){
    if(x<2)return 0;
    else{
        for(long long i=2;i<=x/i;i++)
            if(x%i==0)return 0;
        return 1;
    }
}
int main(){
    int m,n,flag=1;
    string s;
    cin>>m>>n;
    getchar();
    cin>>s;
    for(int i=0;i<=m-n;i++){
        string t=s.substr(i,n);
        int num=stoi(t);
        if(isprime(num)){
            cout<<t;
            flag=0;
            break;
        }
    }
    if(flag)cout<<"404";
    return 0;
}
目录
相关文章
|
消息中间件 存储 监控
云消息队列 RocketMQ 版(原ONS)体验
云消息队列 RocketMQ 版(原ONS)是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式“消息、事件、流”统一处理平台。它在阿里集团内部业务、阿里云以及开源社区中得到广泛应用。最新的版本进一步优化了高可靠低延迟的特性,并提供了多场景容灾解决方案,使其成为金融级业务消息的首选方案。由于专业及能力问题,本次我只能从产品功能体验方面进行简单的一些分析。
1986 64
|
9月前
|
JavaScript 前端开发 开发者
Vue 动态添加 HTML 元素组件封装使用方法及长尾关键词优化指南
本文详细介绍了Vue中动态添加HTML元素的使用方法与组件封装技巧。内容涵盖条件渲染(v-if/v-show)、列表渲染(v-for)、动态组件(:is)、手动操作DOM及动态创建组件实例等核心方法。同时,通过动态表单、弹窗组件和动态加载组件的封装示例,展示如何提升代码复用性和可维护性。最后,总结性能优化策略与注意事项,如批量更新DOM、懒加载大型组件及避免直接操作DOM等,帮助开发者在实际项目中灵活应用Vue动态元素管理功能。
270 15
|
自动驾驶 5G 网络架构
|
网络协议 Windows
Windows Server 2019 Web服务器搭建
Windows Server 2019 Web服务器搭建
777 0
|
物联网 人机交互 语音技术
计算机中输入输出设备
【7月更文挑战第28天】
645 1
|
PyTorch 算法框架/工具 Python
yolov5的完整部署(适合新人和懒人,一键安装)
这篇文章为新人和希望简化部署过程的用户介绍了如何一键安装和配置YOLOv5环境,包括安装Anaconda、设置镜像源、安装PyCharm、创建虚拟环境、下载YOLOv5项目、安装依赖以及在PyCharm中配置和运行项目。
8299 0
yolov5的完整部署(适合新人和懒人,一键安装)
|
开发框架 前端开发 JavaScript
C/S、B/S、Web的介绍(Web应用开发)
这篇文章介绍了C/S(客户端/服务器)和B/S(浏览器/服务器)两种架构,以及Web应用开发的基本原理、客户端和服务器端的应用技术。
C/S、B/S、Web的介绍(Web应用开发)
|
SQL 监控 安全
SQLserver AlwaysOn 提交模式与节点的可用性
【7月更文挑战第7天】SQL Server AlwaysOn中,提交模式影响节点可用性。主节点可配置为异步(始终异步提交)或同步。同步模式下,主节点与至少一个同步从节点一起提交,但若从节点超时或宕机,会退化为异步,可能导致数据丢失。`session_timeout`决定主副本等待辅助副本的时间。`required_synchronized_secondaries_to_commit`参数要求特定数量的同步副本。选择模式应基于业务需求、数据安全性和性能。监控节点状态、测试故障转移和备份策略至关重要。详情参考微软文档。
356 0
|
canal 关系型数据库 MySQL
离线数仓(四)【数仓数据同步策略】(2)
离线数仓(四)【数仓数据同步策略】
|
存储 算法 C++
【C++ 包装器类 std::tuple】全面入门指南:深入理解并掌握C++ 元组 std::tuple 的实用技巧与应用(三)
【C++ 包装器类 std::tuple】全面入门指南:深入理解并掌握C++ 元组 std::tuple 的实用技巧与应用
538 0