L1-012 计算指数、L1-013 计算阶乘和、 L1-014 简单题、 L1-015 跟奥巴马一起画方块、 L1-016 查验身份证

天梯赛L1难度总结 + 题目难易分类 天梯赛L1难度总结 一个月的时间,从 2 月 6 号的《L1-001 Hello World (5 分)》到 3 月 8 号的《L1-080 乘法口诀数列 (20 分)》,一个月的时间,断断续续的写了 80 道天梯赛 L1 难度的题目… 总结下来,L1 难度的题目并不难,好多题目都是大一的时候做过的,除了 Hello World 的输出,剩下的就是模拟题了,可能存在部分题目使用C++的 STL 的函数会简便很多,但绝大多数的题目都只是简单的或者复杂的模拟题,总结下来,L1 的难度不难,但是比较麻烦,容易卡点 阅读详情

L1-012 计算指数

题目描述

对任意给定的不超过 10 的正整数 n n n,输出 2 n 2^n 2n 的值。

输入格式

一行中给出一个不超过 10 的正整数 n n n。

输出格式

2^n = 计算结果

输入样例

5

输出样例

2^5 = 32

解题思路

  1. 读入整数 n n n
  2. 计算 2 n 2^n 2n
  3. 按指定格式输出

C++ 代码

#include <iostream>
#include <cmath>
// cmath = C math,是 C++ 的数学头文件
// 必须写这一行,才能使用 pow ( ) 函数
using namespace std;

int main() {
    int n;
    cin >> n;
    int res = pow(2, n);
    cout << "2^" << n << " = " << res << endl;
    return 0;
}

双引号 " " 的作用

  • 加双引号:里面的内容是字符串,会原样输出。
    例如 "2^"、" = " 是固定文字,直接显示在屏幕上。
  • 不加引号:是变量,输出变量里面存储的数值。
    例如 n、ans 会输出它们的值。

拼接过程示例

当 n = 5 , a n s = 32 n=5, ans=32 n=5,ans=32 时:

cout << "2^" << n << " = " << ans << endl;

输出结果:

2^5 = 32

L1-013 计算阶乘和

题目描述

计算 S = 1! + 2! + 3! + … + N! 的值(N ≤ 10)。

  • 阶乘:n! = 1×2×3×…×n
  • 例如:3! = 1×2×3 = 6

输入格式

一行中给出一个不超过 10 的正整数 N。

输出格式

一行输出 S 的值。

输入样例

3

输出样例

9

解题思路

  1. 循环计算每一个数的阶乘
  2. 把所有阶乘结果累加起来
  3. 输出最终的和

C++ 完整代码

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    
    int sum = 0;  // 存储阶乘的和
    int fact = 1; // 存储当前数的阶乘
    
    for(int i=1; i<=n; i++){
        fact = fact * i;  // 计算 i!
        sum = sum + fact; // 累加到总和
    }
    
    cout << sum << endl;
    return 0;
}

L1-014 简单题

题目描述

没有任何输入,只需要在一行输出:
This is a simple problem.

输入格式

无

输出格式

This is a simple problem.

C++ 代码

#include <iostream>
using namespace std;

int main() {
    cout << "This is a simple problem." << endl;
    return 0;
}

L1-015 跟奥巴马一起画方块

题目描述

输入正方形边长 N 和字符 C,输出用 C 组成的正方形。
行数 = 列数的 50%,四舍五入取整。

输入格式

一行给出 N(3≤N≤21)和字符 C,用空格隔开。

输出格式

输出对应正方形。

输入样例

10 a

输出样例

aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa

解题思路

  1. 输入 N 和字符 c
  2. 计算行数:行 = (N + 1) / 2(自动四舍五入)
  3. 循环 行次,每行输出 N 个字符 c

C++ 完整代码

#include <iostream>
using namespace std;

int main() {
    int n;
    char c;
    cin >> n >> c;  // 输入边长和字符
    
    // 计算行数:四舍五入 n/2
    int row = (n + 1) / 2;
    
    // 循环 row 行
    for(int i = 1; i <= row; i++) {
        // 每行输出 n 个字符
        for(int j = 1; j <= n; j++) {
            cout << c;
        }
        cout << endl;  // 每行结束换行
    }
    
    return 0;
}

1. 行数怎么算?

  • 行数 = 边长的一半,四舍五入

  • 公式:row = (n + 1) / 2

  • 为什么行数是 (n + 1) / 2?
    题目要求:行数 = n 的一半,四舍五入。
    但 C++ 的整数除法是向下取整(直接砍掉小数),不会自动四舍五入。
    想要实现四舍五入,公式是:row = (n + 1) / 2
    例子:
    n = 10 → (10+1)/2 = 5
    n = 3 → (3+1)/2 = 2

2. 双层循环

  • 外层循环:控制多少行
  • 内层循环:控制每行多少个字符

L1-016 查验身份证

题目描述

查验身份证是否合法:

  1. 前17位必须都是数字
  2. 按规则计算校验码,和最后一位必须一致
    不合法就输出号码,全部合法输出 All passed

输入格式

第一行:N(号码数量)
接下来 N 行:每行18位身份证号

输出格式

输出有问题的号码,全部正确输出 All passed

权重 + 校验码对应

权重:7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2
Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2


C++ 完整代码

#include <iostream>
#include <string>
using namespace std;

int main() {
    // 权重数组
    int w[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    // 校验码对应数组
    char m[11] = {'1','0','X','9','8','7','6','5','4','3','2'};
    
    int n;
    cin >> n;
    bool allPass = true;  // 标记是否全部通过
    
    for(int i=0; i<n; i++){
        string id;
        cin >> id;
        bool ok = true;
        
        // 第一步:检查前17位是不是数字
        for(int j=0; j<17; j++){
            if(id[j] < '0' || id[j] > '9'){
                ok = false;
                break;
            }
        }
        
        // 第二步:前17位合法,计算加权和
        if(ok){
            int sum = 0;
            for(int j=0; j<17; j++){
                sum += (id[j] - '0') * w[j];
            }
            int z = sum % 11;  // 取模得到Z
            if(id[17] != m[z]){
                ok = false;
            }
        }
        
        // 不合法就输出
        if(!ok){
            cout << id << endl;
            allPass = false;
        }
    }
    
    // 全部通过
    if(allPass){
        cout << "All passed" << endl;
    }
    
    return 0;
}

#include <iostream>
#include <string>
#include <cctype>   //isdigit():判断字符是不是数字 0~9
using namespace std;

int main() {
    int w[] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    char m[] = {'1','0','X','9','8','7','6','5','4','3','2'};

    int n;
    cin >> n;
    bool all = true;

    while (n--) {
    //在 C++ 里,数字 0 表示假,非 0 表示真。while( 真 ) → 继续循环,while( 假 ) → 停止循环
        string s;
        cin >> s;
        bool ok = true;

        for (int i = 0; i < 17; i++)
            if (!isdigit(s[i])) ok = false;

        if (ok) {
            int sum = 0;
            for (int i = 0; i < 17; i++)
                sum += (s[i]-'0') * w[i];
                //s[i] 是字符,不能直接计算,必须用 s[i] - '0' 把字符变成真正的数字
                //字符 '0' 的码值:48    字符 '5' 的码值:53
            if (s[17] != m[sum%11]) ok = false;
        }

        if (!ok) {
            cout << s << endl;
            all = false;
        }
    }

    if (all) cout << "All passed" << endl;
    return 0;
}

1. 两个固定数组(

int w[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
char m[11] = {'1','0','X','9','8','7','6','5','4','3','2'};
  • w:前17位权重
  • m:Z值对应的正确校验码

2. 前17位必须是数字

if(id[j] < '0' || id[j] > '9') 不合法

只要有一位不是数字,直接判定错误。

3. 计算校验码

  1. 前17位 × 对应权重 → 求和
  2. 和 % 11 → 得到 Z
  3. 用 Z 去 m数组 找正确的最后一位
  4. 和身份证最后一位对比,不一样就是错的

4. 字符串转数字

id[j] - '0'

把字符 '5' 变成数字 5 才能计算。

5. 标记变量

  • ok:判断当前身份证是否合法
  • allPass:判断全部身份证是否合法

PAT团体程序设计天梯赛L1习题集(建议收藏) PAT团体程序设计天梯赛L1习题集(建议收藏) 5分题 L1-001 Hello World (5分) L1-004 计算摄氏温度 (5分) L1-012 计算指数 (5分) L1-014 简单题 (5分) L1-021 重要的话说三遍 (5分) L1-024 后天 (5分) L1-026 I Love GPLT (5分) L1-029 是不是太胖了 (5分) L1-036 A乘以B (5分)... 阅读详情

相关推荐

GPLT团体程序设计天梯赛题解L1部分

文章目录00xL1-001 Hello World (5 分)L1-002 打印沙漏 (20 分)L1-003 个位数统计 (15 分)L1-004 计算摄氏温度 (5 分)L1-005 考试座位号 (15 分)L1-006 连续因子 (20 分)L1-007 念数字 (10 分)L1-008 求整数段和 (10 分)L1-009 N 个数求和 (20 分)01xL1-010 比较大小 (10 分)L1-011 A-B (20 分)L1-012 计算指数 (5 分)L1-013 计算阶乘和 (10 分)L1

优快云 基本不怎么用了,可以关注我的个人博客:https://chensl.me 1776

【PTA天梯赛】L1-011 —— L1-020 c++ 题解

PTA 团体程序设计天梯赛-练习集

Ceylan__的博客 1545

天梯赛L1(1-80)

集齐天梯赛至2021年的全部真题

qq_23334761的博客 2367

python机试每日10题(L011-L020)

1.适合人群:python小白或者准备机试的同学。 2.个人心得:不会的就问ai,尽量去搞懂,但是一定要尝试自己独立默写出来。 3.题目来源:PTA团体程序设计天梯赛-练习集

wuyouxianshen的博客 716

从零构建虚幻引擎体积云:参数调优与性能平衡的艺术

本文深入探讨了在虚幻引擎中构建逼真体积云系统的关键技术,包括Sky Atmosphere、Volumetric Cloud和Exponential Height Fog三大核心组件的协同工作。重点解析了体积云材质的高级控制、光照阴影的物理模拟以及性能优化策略,帮助开发者在视觉效果与性能之间找到最佳平衡点。

weixin_29012677的博客 937

Android Audio常见问题分析方法

分析audio dump,确定写给BT的data是否正常,MTK平台Android原生架构分析threadloop write节点,高通平台分析QXDM 1586节点,从dump确定问题大概位置。分析systrace 确定性能。AudioFocus状态(用于播放或者音量异常的情况)。AudioTrack是否正常创建bt连接是否正常通路异常,setMode,setSpeakerphoneOn等都会影响设备选择,sco调用流程是否正常。

一条老狗的博客 2387

天梯赛L1 (python) 更新ing

给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。给定两个整数A和B,输出从A到B的所有整数以及这些数的和。的形式给出的,你输出的和也必须是有理数的形式。

m0_72850002的博客 1484

Vmware虚拟机克隆详解:固定ip + 修改uuid等内容

分两大步 设置固定ip 克隆后修改相关配置 本文引用的其他地方的图片。会附上链接 若侵权,删 一、设置静态ip 先进行虚拟网络的编辑 接下来的操作需要管理员权限。(给权限就完事了) 接下来设置网卡: 网络和共享中心→ 更改适配器设置→VMware Network Adapter VMnet8 -> 右键属性 修改TCP/Ipv4的配置,网上常见是这种,笔者是英文的...

Unknownfuture的博客 9070

天梯赛练习集--L1-011到L1-020--python - java

天梯赛练习集--L1-011到L1-020--python - java

余的日常学习 904

手写数字数据集MNIST

文章目录一、 简介二、下载MNIST数据集训练集和测试集的长度输出图像数据和标记数据的形状显示手写数字图片输出数据集中的第1个样本显示图片 一、 简介 MNIST是一个非常有名的手写体数字识别数据集(手写数字灰度图像数据集),在很多资料中,这个数据集都会被用作深度学习的入门样例。 MNIST数据集是由0到9的数字图像构成的。训练图像有6万张,测试图像有1万张。MNIST数据集是NIST数据集的一个子集,它包含了60000张图片作为训练数据,10000张图片作为测试数据。由250个不同的人手写而成。 每一张图

qq_37289115的博客 1万+

深入理解鸿蒙输入子系统驱动:HDI接口、HAL层与内核驱动的协同机制

/ 扫描输入设备// 打开指定输入设备// 关闭指定输入设备// 获取指定设备信息// 获取所有设备列表鸿蒙输入子系统驱动采用分层架构设计,通过HDI接口层实现硬件抽象,HAL层提供统一的事件处理机制,用户空间驱动层负责设备管理和事件分发。整个系统支持多种输入设备类型,包括触摸屏、按键、鼠标、键盘等,并提供了完整的HID设备支持。分层架构:清晰的层次划分,便于维护和扩展事件驱动:基于epoll的高效事件处理机制设备管理:完善的设备生命周期管理HID支持。

m0_67505153的博客 209

PTA团体程序设计天梯赛(L1-011~L1-020)

L1-011 A-B (20 分) 本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。 输入格式: 输入在2行中先后给出字符串A和B。两字符串的长度都不超过10 4 ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。 输出格式: 在一行中打印出A−B的结果字符串。 输入样例: I love GPLT! It’s a fun game! aeiou 结尾无空行 输出样例: I lv GP

qq_52384627的博客 1044

1、符号回归:原理、应用与实践

本文全面介绍了符号回归(Symbolic Regression)的原理、发展历程、核心算法及其在科学与工程领域的广泛应用。文章从基本概念出发,详细阐述了基于遗传编程的符号回归机制,并探讨了其在游艇水动力学、化学过程、锂离子电池、生物医学等多个领域的实际应用。同时,博文还涵盖了高级技术如知识集成、系数优化、预测区间计算及微分方程发现等内容,对比了开源与商业软件工具,并展望了未来发展趋势,旨在为研究人员和从业者提供一本实用的符号回归指南。

ipfs8storage的博客 248

团体程序设计天梯赛 L1 题目合集

发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩。但是由于时间问题,而 L1 的题目相对比较简单,没有必要每一题都写详细的题解,就以文本来记录 L1 的题解吧。

Veggie的博客 2万+

基于STM32+ESP8266+手机APP的心率血氧温湿度监测报警系统设计(项目资料ID:18)

基于 STM32 微控制器、ESP8266 无线模块和 QT 手机 APP 的多参数监测报警系统。该系统可实时采集心率、血氧饱和度、环境温湿度等参数,通过 OLED 显示屏本地显示,并通过 WiFi 模块上传至手机 APP 实现远程监测与数据可视化。系统具备报警阈值自定义功能,当参数超出设定范围时,通过蜂鸣器和 LED 进行声光报警。系统以 STM32F103 为控制核心,采用 MAX30102 传感器采集心率和血氧,DHT20 采集温湿度,通过 ESP8266 实现无线通信,配合 QT 开发的手机 APP

以培养嵌入式工程师为己任 1万+

手把手教你学Simulink--电机电磁兼容与可靠性​场景示例:基于Simulink的电机轴电压与轴电流抑制仿真

本文带你完成了电机轴电压与轴电流抑制的Simulink仿真,实现了:✅ 揭示了共模电压 → 寄生电容 → 轴电压 → 轴承电蚀的完整链路✅ 搭建了含寄生参数的高频电机等效模型共模电压最小化PWM(源头抑制)dv/dt滤波器(路径阻断)轴接地(终端泄放) ✅ 通过仿真验证了轴电压从68 V降至<3 V的显著效果 ✅ 为高可靠性电机系统提供低成本、高效益的轴承保护方案。

MHD0815的博客 314

PTA天梯赛L1 011-020题目解析

如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。题目大意是给出一个圈子的人的名单,没出现在圈子里面的或者圈子里面只有自己的人称为没朋友的人。这道题目的意思很简单,就是给我们一个数字,让我们按照规则计算他的犯二程度。然后给出多个查询Id,按照首先出现的规则进行查询,找出没有朋友的查询ID。,有朋友的人的ID,映射的为True,否则为False。这道题的意思就是在规定的时间内,按照规则输出敲钟信息。,标记已经查询过的人,避免重复输出已查询的结果。,然后读取该映射的字符是否出现即可。

m0_72678953的博客 1157

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

PAT : 团体程序设计天梯赛-练习集 L1 答案

鉴定完毕!全是水题! 补:: 2019-03-31 :参加了昨天的天梯赛,只得了153分,队伍勉强得的国三省二…第一阶段的最后一题太难了啊啊啊啊,直接爆炸! 说好的第一阶段全是水题呐? 目录 L1-001Hello World(lua) L1-002打印沙漏(C) L1-003个位数统计(C) L1-004计算摄氏温度(C) L1-005考试座位号(...

Belous的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

天梯GPLT L1 题

L1-001 Hello World 送分题 L1-002 打印沙漏 乙级做过,但还是卡住我了。 L1-003 个位数统计 送分题 L1-004 计算摄氏温度 送分题 L1-005 考试座位号 送分题 L1-006 连续因子 乙级做过,思想是连续一段除法。 L1-007 念数字 送分题 L1-008...

一起努力 521

PTA团体程序设计天梯赛-练习集Level-1(参考代码C语言/Python版)

受个人水平限制,《PTA团体程序设计天梯赛-练习集》中暂时只能把Level-1的题目做出来… 题目号 题目名 L1-001 Hello World L1-002 打印沙漏 L1-003 个位数统计 L1-004 计算摄氏温度 L1-005 考试座位号 L1-006 连续因子 L1-007 念数字 L1-008 求整数段和 L1-009 N个数求和 L1-010 比较大小 L1-011 A-B L1-012 计算指数 L1-013 计算阶乘和

Re:从零开始的代码生活的博客 2万+

天梯赛L1

都是一些水题,就直接放代码了,有些解释在注释里。 其中有几题个人感觉不是很水,这里面就没放代码,题解我会另外写。 文章目录L1-001 Hello World (5 分)L1-002 打印沙漏 (20 分)L1-003 个位数统计 (15 分)L1-004 计算摄氏温度 (5 分)L1-005 考试座位号 (15 分)L1-006 连续因子 (20 分)L1-007 念数字 (10 分)L1-...

roMxx 458

GPLT练习集L1 9--16

GPLT练习集L1 11--20L1-011 A-B (20 分)题目描述代码L1-012 计算指数 (5 分)题目描述代码L1-013 计算阶乘和 (10 分)题目描述代码L1-014 简单题 (5 分)题目描述代码L1-015 跟奥巴马一起画方块 (15 分)题目描述代码L1-016 查验身份证 (15 分)题目描述代码L1-017 到底有多二 (15 分)题目描述代码L1-018 大笨钟 (10 分)题目描述代码L1-019 谁先倒 (15 分)题目描述代码L1-020 帅到没朋友 (20 分)题目

weixin_52963747的博客 1123

天梯赛训练L1-011——L1-020

【代码】天梯赛训练L1-011——L1-020。

qq_50196144的博客 221

团体程序设计天梯赛-练习集 02

L1-013计算阶乘和 L1-014简单题 L1-015跟奥巴马一起画方块 L1-016查验身份证 L1-017 到底有多二 L1-018大笨钟 L1-019谁先倒 L1-020帅到没朋友 L1-021重要的话说三遍 L1-022奇偶分家 L1-023输出GPLT L1-024后天

Obliviate的博客 653

python 团体程序设计天梯赛L1合集(持续更新)

试题集传送门 试题列表L1-005 考试座位号L1-007 念数字L1-008 求整数段和L1-010 比较大小 L1-005 考试座位号 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。 输入格式: 输入第一行给出一个正整数 N(≤1000),

xiaolan7777777的博客 1万+

【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案

【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 标号 标题 分数 通过数 提交数 通过率 L1-001 Hello World 5 46779 112778 0.41 L1-002 打印沙漏 20 20237 83655 0.24 L1-003 个位数统计 15 20404 65549 0.31 L1-004 计算摄氏温度 5 24244 74781 0.32 L1-005 考试座位号 15 15518 50428 0.3

小哈里的博客 2197
上一篇: L1-011 A-B
下一篇: L1-086 斯德哥尔摩火车上的题、L1-087机工士姆斯塔迪奥
ab123768
博客等级 码龄3年 43粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ab123768

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值