欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 2024 年 6 月青少年软编等考 C 语言三级真题解析

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

2025/2/22 2:18:25 来源:https://blog.csdn.net/qq_39710484/article/details/145095093  浏览:    关键词:2024 年 6 月青少年软编等考 C 语言三级真题解析

目录

  • 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 ] ,

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词