当前位置: 首页 > news >正文

天梯赛L1-22-25

L1-022 奇偶分家

题目描述

给定 N 个正整数,统计其中奇数和偶数各有多少个。

输入格式
  1. 第一行:一个正整数 N(≤1000)。
  2. 第二行:N 个非负整数,以空格分隔。
输出格式

在一行中输出奇数的个数和偶数的个数,中间用 1 个空格 分隔。

输入样例
9
88 74 101 26 15 0 34 22 77
输出样例
3 6
解题思路
  1. 输入处理
    • 读取 N(表示数字的个数)。
    • 读取第二行的 N 个数字,存入列表。
  2. 奇偶统计
    • 遍历所有数字,判断每个数字是奇数还是偶数。
    • 使用 % 2 取模运算:
    ◦ 如果 num % 2 == 1,则是奇数。
    ◦ 如果 num % 2 == 0,则是偶数(包括 0)。
  3. 输出结果
    • 输出奇数个数和偶数个数,格式为 奇数 偶数
Python 代码实现
n = int(input())
numbers = list(map(int, input().split()))
odd = 0
even = 0for num in numbers:if num % 2 == 1:odd += 1else:even += 1print(f"{odd} {even}")

L1-023 输出GPLT

题目描述

给定一个仅由英文字母构成的字符串(长度 ≤10000),要求:

  1. 筛选字符:只保留 GPLT(不区分大小写)。
  2. 按顺序输出:按照 GPLTGPLT... 的循环顺序输出字符,直到所有字符用完。
  3. 忽略其他字符:非 GPLT 的字母直接跳过。
输入格式

• 一行字符串,仅包含英文字母。

输出格式

• 按 GPLT 顺序输出的字符串。

输入样例
pcTclnGloRgLrtLhgljkLhGFauPewSKgt
输出样例
GPLTGPLTGLTGLGLL

解题思路

  1. 统计字符数量
    • 遍历字符串,统计 GPLT(不区分大小写)的出现次数。
  2. 循环输出
    • 按照 G → P → L → T 的顺序循环输出,每次输出一个字符后,对应计数减 1。
    • 当某个字符的计数归零时,跳过该字符,继续按顺序输出剩余的字符。
  3. 终止条件
    • 所有字符的计数均为 0 时停止。

代码实现

res_G = res_L = res_P = res_T = 0
a = input().strip().upper()
for char in a:if char == 'G':res_G += 1elif char == 'P':res_P += 1elif char == 'L':res_L += 1elif char == 'T':res_T += 1while res_G > 0 or res_L > 0 or res_P > 0 or res_T > 0:if res_G > 0:print("G", end="")res_G -= 1if res_P > 0:print("P", end="")res_P -= 1if res_L > 0:print("L", end="")res_L -= 1if res_T > 0:print("T", end="")res_T -= 1
print()

L1-024 后天

题目描述

给定一个数字 D(1 ≤ D ≤ 7),表示星期几(1=星期一,2=星期二,…,7=星期日),计算并输出“后天”对应的星期数。

输入格式

• 一个正整数 D(1 ≤ D ≤ 7)。

输出格式

• 输出 D 的后天对应的星期数(1~7)。

输入样例
3

(表示今天是星期三)

输出样例
5

(后天是星期五)


解题思路

  1. 问题分析
    • 星期是循环的,7 天后又回到星期一。
    • “后天” = 今天 + 2 天。
    • 如果 D + 2 > 7,则需要取模运算((D + 2) % 7),但要注意:
    ◦ 如果 D + 2 = 8,应该输出 1(星期一),而不是 8 % 7 = 1
    ◦ 如果 D + 2 = 9,应该输出 2(星期二),即 9 % 7 = 2
    • 因此,可以直接用 (D + 1) % 7 + 1 计算:
    D + 1:先加 1 天(“明天”)。
    % 7:处理循环。
    + 1:调整到 1~7 的范围。

  2. 公式推导
    • 后天 = (D + 2 - 1) % 7 + 1
    -1 是为了让星期一从 0 开始计算,+1 恢复 1~7 的编号)

    • 更简单的方式:
    ◦ 直接计算 (D + 2) % 7,但如果结果是 0,则改为 7

  3. 代码实现
    • 使用 (D + 2) % 7,如果结果为 0,则输出 7,否则输出计算结果。


Python 代码

n=int(input())
if n==6:print(1,end="")
elif n==7:print(2,end="")
else:print(n+2)

L1-025 正整数A+B

题目描述

给定两个输入 AB(以第一个空格分隔),要求:

  1. 检查 AB 是否为 正整数且在 [1, 1000] 范围内
  2. 如果合法,计算 A + B 并输出 A + B = 和
  3. 如果非法(如负数、小数、乱码、超出范围),对应位置输出 ?,且和为 ?
输入格式

• 一行字符串,包含 AB,以 第一个空格 分隔。

输出格式

• 合法时:A + B = 和
• 非法时:? + ? = ?(或部分替换为 ?

输入样例1
123 456
输出样例1
123 + 456 = 579
输入样例2
22. 18
输出样例2
? + 18 = ?
输入样例3
-100 blabla bla...33
输出样例3
? + ? = ?

Python 代码

a = input().split(maxsplit=1)  # 按第一个空格分割
if len(a) < 2:  # 题目保证至少一个空格,但保险起见print("? + ? = ?")
else:# 处理A和Bdef validate(num_str):try:num = int(num_str)return 1 <= num <= 1000except ValueError:return Falsevalid_a = validate(a[0])valid_b = validate(a[1])# 输出结果output_a = a[0] if valid_a else "?"output_b = a[1] if valid_b else "?"sum_ab = "?"if valid_a and valid_b:sum_ab = str(int(a[0]) + int(a[1]))print(f"{output_a} + {output_b} = {sum_ab}")

相关文章:

  • SpringBoot 与 Vue3 实现前后端互联全解析
  • 日常记录-CentOS 9安装java17
  • GitLab-获取token(访问令牌)
  • 用css给div列表加个序号
  • uniapp的h5,打开的时候,标题会一闪而过应用名称,再显示当前页面的标题
  • uniapp 自定义tabbar
  • D1084低功耗LDO稳压器:技术解析与应用设计
  • 各证券公司QMT的本地VSCode开发环境配置指南
  • CRUD3
  • Bad Request 400
  • 什么是 矩阵号 ?为什么要做海外矩阵?
  • Axure高保真AI算法训练平台
  • SQL2API 核心理念:如何重构数据服务交付范式
  • github配置ssh,全程CV
  • chain_type=“stuff 是什么 ? 其他方式有什么?
  • 用户管理和权限管理
  • FnOS安装
  • Vue接口平台学习七——接口调试页面请求体
  • PyTorch实现权重衰退:从零实现与简洁实现
  • 蓝桥杯嵌入式开发板结构分析及功能学习笔记
  • 细说汇率 ⑬ 美元进入“全是坏消息”阶段
  • 旁白丨无罪后领到国家补偿,一位退休教师卸下了“包袱”
  • 分离19年后:陈杨梅首度露面,父亲亲手喂棉花糖给女儿吃
  • “我们一直都是面向全世界做生意”,“世界超市”义乌一线走访见闻
  • 大国重器飞天背后,有一位上海航天的“老法师”
  • 玉渊谭天丨这是一个时代的结束