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 谷歌的招聘 的相关文章

  • 【NOI2018模拟3.26】Cti

    Description 有一个 n m 的地图 地图上的每一个位置可以是空地 炮塔或是敌人 你需要操纵炮塔消灭敌人 对于每个炮塔都有一个它可以瞄准的方向 你需要在它的瞄准方向上确定一个它的攻击位置 当然也可以不进行攻击 一旦一个位置被攻击
  • 梦之光芒Monyer (全关解析)

    目录 前言 第0关 描述 过程 第1关 描述 过程 第2关 描述 过程 第3关 描述 过程 第4关 描述 过程 第5关 描述 过程 第6关 描述 过程 第7关 描述 过程 第8关 描述 过程 第9关 描述 过程 第10关 描述 过程 第11
  • 七校联合NewStarCTF 公开赛赛道WEEK2 web wp

    也不知道是不是公开赛和内部赛是不是同一套题 week1的题挺简单的 这里小记一下week2的题目 如有侵权立刻删除 Word For You 2 Gen 这题很简单就带过一下吧 报错注入就行 1 updatexml 1 concat 0x7
  • Pat刷题真题乙级(4)

    标题 前言 Pat乙级1013 组个最小数 Pat乙级1014 科学计数法 Pat乙级1017 打印沙漏 Pat乙级1018 人口普查 Pat乙级1019 旧键盘 前言 这个周末花了两天才写了五道题 嘿嘿 康康吧 Pat乙级1013 组个最
  • PAT : PAT (Basic Level) Practice(中文)答案(1001 ~ 1095)(纯C编写)

    题目集地址 报名了12月的PAT B 先试试水 已完成 2018 10 22 2018 11 14 更新 2018 12 09 PAT乙级考试100分 考试代码已更新 冬天坐火车跑去考试冻懵了 来年对战PAT甲级考试 目录 目录 题目集地址
  • L1-029. 是不是太胖了

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

    题目描述 本题要求实现一种数字加密方法 首先固定一个加密用正整数 A 对任一正整数 B 将其每 1 位数字与 A 的对应位置上的数字进行以下运算 对奇数位 对应位的数字相加后对 13 取余 这里用 J 代表 10 Q 代表 11 K 代表
  • CF76E Points 题解

    题目大意 给出 n n n 个点的坐标 x x x 和 y y y 让你求
  • PAT_B_1094 谷歌的招聘 (20 分)【测试点3,5】

    本题要求你编程解决一个更通用的问题 从任一给定的长度为 L 的数字中 找出最早出现的 K 位连续数字所组成的素数 输入格式 输入在第一行给出 2 个正整数 分别是 L 不超过 1000 的正整数 为数字长度 和 K 小于 10 的正整数 接
  • 【2022年第十三届蓝桥杯省赛个人题解】

    A 九进制转十进制 5分 题目描述 九进制正整数 2022 9 2022 9 2022 9 转换成十进制等于多少 AC代码 include
  • 1054 求平均值 (20 分)

    1054 求平均值 20 20 分 本题的基本要求非常简单 给定N个实数 计算它们的平均值 但复杂的是有些输入数据可能是非法的 一个 合法 的输入是 1000 1000 区间内的实数 并且最多精确到小数点后2位 当你计算平均值的时候 不能把
  • 1012.数字分类- PAT乙级真题

    给定一系列正整数 请按要求对数字进行分类 并输出以下 5 个数字 A 1 能被 5 整除的数字中所有偶数的和 A 2 将被 5 除后余 1 的数字按给出顺序进行交错求和 A3 被 5 除后余 2 的数字的个数 A 4 被 5 除后余 3 的
  • 【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
  • POJ - 3259 Wormholes

    While exploring his many farms Farmer John has discovered a number of amazing wormholes A wormhole is very peculiar beca
  • 2022第十三届蓝桥杯国赛真题javaB组

    文章目录 试题A 重合次数 试题B 数数 试题C 左移右移 试题D 窗口 试题E 迷宫 试题F 小球称重 试题G 背包与魔法 试题H 修路 试题I 围栏 试题J 好数之和 试题A 重合次数 本题总分 5 分 问题描述 在同一天中 从上午6
  • P1609 最小回文数 题解

    本题位数较大 所以只能使用字符串读入 因为是回文数 所以我们只考虑前半部分的情况就能确定一个回文数 如一个型为 x y z overline xyz xy
  • 【GPLT】【2022天梯赛真题题解】

    L1 1 今天我要赢 5分 题目描述 2018 年我们曾经出过一题 是输出 2018 我们要赢 今年是 2022 年 你要输出的句子变成了 我要赢 就在今天 然后以比赛当天的日期落款 输入格式 本题没有输入 输出格式 输出分 2 行 在第一
  • ts 流基础(白话讲解).

    author hjjdebug date 2022年 09月 27日 星期二 ts 流就是188个字节构成的流数据 先来点最简单的 ts 头部 4字节 ts 流是47开头的 以188字节为单位的打包流 由4字节包头及包体构成 4字节第一个4
  • POJ - 2325 Persistent Numbers

    The multiplicative persistence of a number is defined by Neil Sloane Neil J A Sloane in The Persistence of a Number publ
  • LeetCode题解—260.只出现一次的数字Ⅲ

    题目地址 260 只出现一次的数字 III 力扣 LeetCode 题解 这道题是基于寻找只出现一次的数字 上的拓展 136 只出现一次的数字 力扣 LeetCode 在 中 我们只需要把所有的数字异或一遍即可 因为只有一个数字是唯一的 但

随机推荐

  • 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 的数字中