PAT题解——Basic Level——1094 谷歌的招聘

2023-11-04

题目链接

https://pintia.cn/problem-sets/994805260223102976/problems/1071785997033074688

题面

本题要求你编程解决一个更通用的问题:从任一给定的长度为 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

题目分析

任何题目的解法都有很多种,选择一个自己最熟练的方式很重要。如何选择呢?重点在于数据规模的大小。常言到暴力出奇迹。所以任何题目的核心都是数据范围。要知道算法比赛中的题解,不是通解,而是针对本题的特解。

本题考点:字符串处理和质数判定。

本题可以看到几个核心数据:

  1. L 不超过 1000 位的正整数。什么意思?就是说 L 是一个非常非常大的数,大到已经超过了long long的表示范围。所以不能选择用long long来表示 L,那么只有用字符数组来表示。
  2. K 小于 10 位的正整数。那么 K 可以用 int 表示。

通过分析,我们发现本题的数据量不大,因此最简单的办法就是枚举。也就是遍历整个数据,从开始出发,每次取出 K 长度的子串,判断这个字串的数据是否是质数。如果是,答案找到。如果不是,继续,直到数据遍历完成,那么输出 404 。

本题有一个小坑,很不幸,我踩中了,怪我语文不好。

例如在 200236 中找 4 位素数,0023 算是解。

说明输出要采用字符串形式。因为数字是没有前面两个零的。

样例代码

题解代码

#include <cstdio>

#include <cstring>

 

bool isPrime(int n) {

    if (n<=1) {

        //特判1不是质数

        return false;

    }

    for (int i=2; i*i<=n; i++) {

        if (0==n%i) {

            return false;

        }

    }

    return true;

}

 

int main() {

    int l, k;

    char data[1002];

    char ans[10];

    scanf("%d %d %s", &l, &k, data);

 

    int num;//判断这个数是否是质数

    int i, j;

    for (i=0; i+k<=strlen(data); i++) {

        num = 0;

        for (j=0; j<k; j++) {

            ans[j] = data[j+i];

            num = num*10 + (ans[j]-'0');

        }

        ans[j] = '\0';

 

        //测试数据

        if (isPrime(num)) {

            printf("%s\n", ans);

            return 0;

        }

    }

 

    //运行到这里,说明没有找到

    printf("404\n");

 

    return 0;

}

测试数据生成代码

惭愧,这题的测试数据生成代码没有写。找个时间补一下。

TBD

Windows下对拍参考

@echo off
:loop
    gen.exe %random% > data.in
    std.exe < data.in >std.out
    pta1094.exe < data.in > my.out
    fc my.out std.out
if not errorlevel 1 goto loop
pause
goto loop

广告

有兴趣可以关注我在GitHub上的题解。

GitHub的项目地址

https://github.com/justidle2012/PATSolution/

本题链接

https://github.com/justidle2012/PATSolution/blob/master/Basic%20Level/1093/pta1094.cpp

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PAT题解——Basic Level——1094 谷歌的招聘 的相关文章

  • PAT题解——Basic Level——1094 谷歌的招聘

    题目链接 https pintia cn problem sets 994805260223102976 problems 1071785997033074688 题面 本题要求你编程解决一个更通用的问题 从任一给定的长度为 L 的数字中
  • 1041. 考试座位号(15)

    每个PAT考生在参加考试时都会被分配两个座位号 一个是试机座位 一个是考试座位 正常情况下 考生在入场时先得到试机座位号码 入座进入试机状态后 系统会显示该考生的考试座位号码 考试时考生需要换到考试座位就座 但有些考生迟到了 试机已经结束
  • 二分模板——数的范围

    789 数的范围 先用二分求出x的左边界 a mid gt x mid在x的右边 所以右边界变为mid 即 if a mid gt x r mid else l mid 1 根据模板得出mid mid l r gt gt 1 若得出的左边界
  • PAT-1059 C语言竞赛

    1059 C语言竞赛 20 分 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛 既然竞赛主旨是为了好玩 颁奖规则也就制定得很滑稽 0 冠军将赢得一份 神秘大奖 比如很巨大的一本学生研究论文集 1 排名为素数的学生将赢得最好的奖品 小黄
  • HDU - 1716 排列2(暴力;next_permutation)

    Ray又对数字的列产生了兴趣 现有四张卡片 用这四张卡片能排列出很多不同的4位数 要求按从小到大的顺序输出这些4位数 Input 每组数据占一行 代表四张卡片上的数字 0 lt 数字 lt 9 如果四张卡片都是0 则输入结束 Output
  • L1-029. 是不是太胖了

    据说一个人的标准体重应该是其身高 单位 厘米 减去100 再乘以0 9所得到的公斤数 已知市斤是公斤的两倍 现给定某人身高 请你计算其标准体重应该是多少 顺便也悄悄给自己算一下吧 输入格式 输入第一行给出一个正整数H 100 lt H lt
  • 基于一道ctf 引发的 TP链分析

    回看 newstarctf week 3 的web题 想了想看看tp链吧 这道题是tp5 1 的版本 链比5 0的 短而且清晰 基于我这个shaluan tp不知道为什么动态调试出了问题 就只能静态分析了 首先是定入口 这里5 0和5 1的
  • 【PAT甲级A1125】 Chain the Ropes (25分)(c++)

    1125 Chain the Ropes 25分 作者 CHEN Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 200 ms 内存限制 64 MB Given some segments of rope you are sup
  • PAT 1018 锤子剪刀布 (20分)

    1018 锤子剪刀布 20分 大家应该都会玩 锤子剪刀布 的游戏 两人同时给出手势 胜负规则如图所示 现给出两人的交锋记录 请统计双方的胜 平 负次数 并且给出双方分别出什么手势的胜算最大 输入格式 输入第 1 行给出正整数 N 10 5
  • 7-3 谁是赢家

    7 3 谁是赢家 某电视台的娱乐节目有个表演评审环节 每次安排两位艺人表演 他们的胜负由观众投票和 3 名评委投票两部分共同决定 规则为 如果一位艺人的观众票数高 且得到至少 1 名评委的认可 该艺人就胜出 或艺人的观众票数低 但得到全部评
  • 1074 Reversing Linked List (25 point(s))

    1074 Reversing Linked List 25 point s Given a constant K and a singly linked list L you are supposed to reverse the link
  • HDU - 1020 Encoding

    Given a string containing only A Z we could encode it using the following method Each sub string containing k same chara
  • 【团体程序设计天梯赛-练习集】L2-009 抢红包(25分)

    团体程序设计天梯赛 练习集 L2 009 抢红包 25分 题目 题目链接 L2 009 抢红包 25 分 没有人没抢过红包吧 这里给出N个人之间互相发红包 抢红包的记录 请你统计一下他们抢红包的收获 输入格式 输入第一行给出一个正整数N 1
  • 【CCPC-2019】【江西省赛】【霖行】J-Worker

    CCPC 2019 江西省赛 霖行 J Worker 题目 Avin meets a rich customer today He will earn 1 million dollars if he can solve a hard pro
  • 2020年团体程序设计天梯赛-总决赛 L2-2 口罩发放

    L2 2 口罩发放 25分 输入格式 输出格式 输入样例 输出样例 样例解释 题解 L2 2 口罩发放 25分 为了抗击来势汹汹的 COVID19 新型冠状病毒 全国各地均启动了各项措施控制疫情发展 其中一个重要的环节是口罩的发放 某市出于
  • LeetCode题解——394. 字符串解码

    题目相关 题目链接 LeetCode中国 https leetcode cn com problems decode string 注意需要登录 题目描述 给定一个经过编码的字符串 返回它解码后的字符串 编码规则为 k encoded st
  • 2022第十三届蓝桥杯国赛真题javaB组

    文章目录 试题A 重合次数 试题B 数数 试题C 左移右移 试题D 窗口 试题E 迷宫 试题F 小球称重 试题G 背包与魔法 试题H 修路 试题I 围栏 试题J 好数之和 试题A 重合次数 本题总分 5 分 问题描述 在同一天中 从上午6
  • HDU-7304 2023“钉耙编程”杭电多校赛(3)Out of Control

    2023 钉耙编程 中国大学生算法设计超级联赛 3 Out of Control 题目大意 有 n n n个数 x 1 x
  • POJ - 1129 Channel Allocation(染色问题)

    题意 AC代码 When a radio station is broadcasting over a very large area repeaters are used to retransmit the signal so that
  • HDU - 1002 A + B Problem II

    I have a very simple problem for you Given two integers A and B your job is to calculate the Sum of A B Input The first

随机推荐

  • Eclipse免费下载(附安装教程)

    软件下载 软件名称 Eclipse 软件大小 750MB 安装环境 Windows 下载链接 https pan baidu com s 1OToZBbONikUYnaS1PN1kRg 提 取 码 geek 建议复制粘贴链接与提取码 安装教
  • 晶振的构造及工作原理

    咱搞硬件的 应该都使用过晶振 上次写开关电源环路的零极点的时候 忽然想到晶振是自己起振的 如果从环路的角度看 应该就是利用的环路不稳定的特性 产生自激振荡 除此之外 我又想到下面这些问题 那么我们使用晶体的时候 电路的环路的传递函数是怎么样
  • scp复制本地文件到远程服务器,scp 本地文件到远程服务器

    linux中scp命令的使用 linux远程拷贝文件命令 scp scp secure corp 1 从本地拷贝文件到远程服务器scp opt script test pl root 192 168 3 130 将本地 opt scritp
  • 量化投资学习-4:股票与美女4-美女自身赚钱的能力

    美女分几种 一种是花瓶式的美女 完全靠的是美貌 靠美貌而吸引了众人的注意力 完全把选择权交个了众人 靠众人的喜欢才有价值 当美貌褪去 众人也就跟着退去 另一种集才华与美貌于一身的美女 不光鲜外在的外貌 漂亮的K线图的走势 还有强大的内在才华
  • AES(Advanced Encryption Standard) Intrinsics各函数介绍

    AES为高级加密标准 是较流行的一种密码算法 SIMD相关头文件包括 include
  • 织梦网站调用变量失败_Request var not allow!织梦DedeCMS添加变量报错的解决办法

    这篇文章主要为大家详细介绍了Request var not allow 织梦DedeCMS添加变量报错的解决办法 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 有需要的朋友可以收藏方便以后借鉴 最近两天不少用户在全力反馈说在后台添加新变
  • idea2020使用idea 没有Run Dashboard

    idea2020版本的 Run Dashboard 等同于Services 我这里添加了Spring boot
  • 蓝桥杯模拟赛 排列序列

    标题 排列序数 X星系的某次考古活动发现了史前智能痕迹 这是一些用来计数的符号 经过分析它的计数规律如下 为了表示方便 我们把这些奇怪的符号用a q代替 abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1
  • Typecho博客搭建 实现公网访问内网站点

    文章目录 前言 1 环境安装 2 安装Typecho 3 安装cpolar内网穿透 4 固定公网地址 5 配置Typecho 前言 Typecho是一款PHP语言编写的开源博客程序 它是一个轻量级的内容管理系统 专注于博客领域 支持多用户
  • crontab命令详解,慎用crontab -r命令

    crontab命令详解 慎用crontab r命令 常用命令 常用命令 crontab e是编辑 crontab r 是删除 crontab l是查看 crontab r命令万恶 且不可恢复 切记勿用
  • Android 系统开发系列(1):Android 12 源代码下载、编译和刷机

    Android 12 正式版 已经发布 https mp weixin qq com s OiFSWEnc 0N2z7JYWTJluw 本文就带大家下载和编译最新的 Android 12 代码 本地编译的代码有下面几个好处 可以刷真机 方便
  • LeetCode 349. 两个数组的交集

    题目链接 https leetcode cn problems intersection of two arrays 思路如下 由题目可知 nums1 数组和 nums2 数组中的元素的大小都在 0 1000 0 1000
  • 《画解数据结构》(2 - 4)- AVL 树

    画解数据结构 2 4 AVL 树
  • ChatGPT的未来:研究和开发的领域,渴望带来哪些变革?

    ChatGPT作为一种基于自然语言处理 NLP 技术的人工智能机器人 其未来研究和开发的领域包括但不限于以下几个方面 1 对话质量的提高 ChatGPT目前仍然存在一些语义理解和生成上的问题 未来的研究和开发将会着重于解决这些问题 提高Ch
  • 网站信息收集及nmap的下载使用

    本专栏是笔者的网络安全学习笔记 一面分享 同时作为笔记 前文链接 WAMP DVWA sqli labs 搭建 burpsuite工具抓包及Intruder暴力破解的使用 目录扫描 请求重发 漏洞扫描等工具的使用 信息收集 我们在对一个网站
  • Flash Player 8 中的安全性更改

    要求 用户级别 中级 Macromedia 已更改了 Flash Player 8 中应用于本地 Flash 内容的安全模型 默认情况下 从用户本地文件系统而不是通过 HTTP 运行的 Flash 应用程序在 Flash Player 8
  • petalinux添加AD9361驱动

    文章目录 一 准备工具 二 步骤 需要 petalinux2016 2 包含AD9361驱动的Linux内核 xcomm zynq 4 4 一 准备工具 ADI提供的AD9361Linux驱动 https wiki analog com r
  • tomcat高并发下优化详解及连接数和线程池

    高并发环境下 我知道优化配置tomcat 对连接数和线程池作修改 最重要的是connector的协议Http Connector使用NIO 而不是默认的AJP Connector 当时也没有仔细研究其原理 现在来为以上这些设置做一下剖析 要
  • Java private类构造函数笔记

    前言 最近在看Android源码的时候遇到了private类构造函数 于是写了一个测试小程序 帮助理解 代码 class TestPrivate private TestPrivate System out println TestPriv
  • PAT题解——Basic Level——1094 谷歌的招聘

    题目链接 https pintia cn problem sets 994805260223102976 problems 1071785997033074688 题面 本题要求你编程解决一个更通用的问题 从任一给定的长度为 L 的数字中