2024 年 6 月青少年软编等考 C 语言三级真题解析

server/2025/2/23 0:23:07/

目录

  • T1. 谷歌的招聘
    • 思路分析
  • T2. 吉利矩阵
    • 思路分析
  • T3. 胖达与盆盆奶
    • 思路分析
  • T4. 加号放哪里
    • 思路分析
  • T5. 三足鼎立
    • 思路分析

T1. 谷歌的招聘

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

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

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

时间限制:1 s
内存限制:64 MB

  • 输入
    输入在第一行给出 2 2 2 个正整数,分别是 L L L(不超过 1000 1000 1000 的正整数,为数字长度)和 K K K(小于 10 10 10 的正整数)。
    接下来一行给出一个长度为 L L L 的正整数 N N N
  • 输出
    在一行中输出 N N N 中最早出现的 K K K 位连续数字所组成的素数。如果这样的素数不存在,则输出 404 404 404。注意,原始数字中的前导零也计算在位数之内。例如在 200236 200236 200236 中找 4 4 4 位素数, 0023 0023 0023 算是解;但第一位 2 2 2 不能被当成 0002 0002 0002 输出,因为在原始数字中不存在这个 2 2 2 的前导零。
  • 样例输入 1
    20 5
    23654987725541023819
    
  • 样例输出 1
    49877
    
  • 样例输入 2
    10 3
    2468024680
    
  • 样例输出 2
    404
    

思路分析

此题考查枚举法与素数判断,属于入门题。

我们可以从前向后枚举需要截取的子串的起点 i i i,从 i i i 开始截取长度为 K K K 的子串,并将其转换为整数 n u m num num。接着判断该整数是否为素数即可。为了避免越界,枚举的终点应为 L − K L-K LK。注意最后输出的是长度为 K K K 的子串,而不是去除前导零之后的 n u m num num

/** Name: T1.cpp* Problem: 谷歌的招聘* Author: Teacher Gao.* Date&Time: 2025/02/08 17:24*/#include <iostream>
#include <string>using namespace std;bool prime(int k) {if (k < 2) return 0;for (int i = 2; i*i <= k; i++) {if (k % i == 0) return 0;}return 1;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);int L, K;string s;cin >> L >> K >> s;for (int i = 0; i <= L - K; i++) {int num = stoi(s.substr(i, K));if (prime(num)) {cout << s.substr(i, K) << endl;return 0;}}cout << 404 << endl;return 0;
}

T2. 吉利矩阵

所有元素为非负整数,且各行各列的元素和都等于 7 7 7 3 × 3 3\times 3 3×3 方阵称为 “吉利矩阵”,因为这样的矩阵一共有 666 666 666 种。

本题就请你统计一下,把 7 7 7 换成任何一个 [ 2 , 9 ] [2, 9] [2,9] 区间内的正整数 L L L,把矩阵阶数换成任何一个 [ 2 , 4 ] [2, 4] [2,4] 区间内的正整数 N N N,满足条件 “所有元素为非负整数,且各行各列的元素和都等于 L L L” 的 N × N N\times N N×N 方阵一共有多少种?

时间限制:1 s
内存限制:64 MB

  • 输入
    输入在一行中给出 2 2 2 个正整数 L L L N N N,意义如题面所述。数字间以空格分隔。
  • 输出
    在一行中输出满足题目要求条件的方阵的个数。
  • 样例输入
    7 3
    
  • 样例输出
    666
    

思路分析

此题考查暴力枚举,属于基础题。

从第一行第一列开始枚举填充,用 r o w [ i ] row[i] row[i] c o l [ i ] col[i] col[i] 分别记录第 i i i 行和第 i i i 列元素之和,于是对于位置 ( x , y ) (x,y) (x,y),可以填充的最小数字为 0 0 0,最大数字为 min ⁡ ( L − r o w [ x ] ,


http://www.ppmy.cn/server/169025.html

相关文章

wx064基于ssm+vue+uniapp的医院挂号预约系统小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

对称加密算法——IDEA加密算法

Java IDEA算法详解 1. 理论背景 IDEA&#xff08;International Data Encryption Algorithm&#xff09;是一种对称密钥加密算法&#xff0c;由Xuejia Lai和James Massey于1991年提出。它被设计用于替代DES&#xff08;Data Encryption Standard&#xff09;算法&#xff0c;…

SQL Server 运算符优先级

在 SQL Server 中&#xff0c;运算符的优先级决定了在没有使用括号明确指定计算顺序时&#xff0c;运算符的执行顺序。 运算符优先级列表 括号 () 一元运算符 &#xff08;正号&#xff09;-&#xff08;负号&#xff09;~&#xff08;按位取反&#xff09; 乘法、除法和取模…

防火墙综合实验

目录 一.拓扑信息 二.需求分析 三.命令行详细配置信息 1.配置IP地址 2. 安全区域配置 3.地址信息 4.用户认证 ​编辑5.智能选路 6.NAT 7.安全策略 四.测试 一.拓扑信息 二.需求分析 1.IP配置 2.安全区域 3.用户认证 认证方式 认证策略 4.用户认证 5.智能…

Ubuntu学习备忘

1. 打开Terminal快捷键 ctrl alt t 2.Ubuntu22.04的root没有默认初始密码&#xff0c; 为root设置密码&#xff0c;下面链接的step1, How to allow GUI root login on Ubuntu 22.04 Jammy Jellyfish Linux - LinuxConfig

正则表达式 匹配一次

下面是一个概念性的示例&#xff0c;说明如何使用正则表达式来找到文本中的URL&#xff0c;并假设我们将基于这个URL的存在来构思一篇文章。 正则表达式示例 首先&#xff0c;定义正则表达式来匹配URL&#xff1a; regex https:\/\/www\.naquan\.com\/ 这个正则表达式会匹…

CentOS/RHEL如何更换国内Yum源

在国内使用CentOS或RHEL系统时&#xff0c;默认的Yum源是国外的&#xff0c;这可能导致软件包的下载速度慢&#xff0c;甚至出现连接超时的问题。为了解决这个问题&#xff0c;我们可以将Yum源切换到国内的镜像源&#xff0c;从而大大提高软件包的下载速度和稳定性。 本文将详…

Redis集群主从切换源码解读

一切的开始 打开Redis5.0.5的源码中server.c&#xff0c;找到如下代码&#xff0c;这里运行了一个定时任务&#xff0c;每隔100毫秒执行一次。 /* Run the Redis Cluster cron. *//** 每隔100毫秒执行一次* 要求开启集群模式*/run_with_period(100) {if (server.cluster_enabl…