通过率 60% · 提交 430 · 通过 256
输入n组数字,每组数字包含两个整数A和B,计算它们的和。
这类题属于算法机考高频题型中「基础语法 / ACM模式练习」方向的高频题型,通常考察对「基础语法 / ACM模式练习」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
第一行输入数字n。 接下来在同一行中输入2n个数字,每两个数字为一组 1 <= n <= 10 -100 <= A, B <= 100
输出一行包含n个数字,每个数字表示每组两个数字的和
示例 1
输入示例
2 1 2 3 4
输出示例
3 7
示例 2
输入示例
3 -1 1 2 -2 3 -3
输出示例
0 0 0
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
这些是真正决定能不能 AC、但通用题解里常被略过的点。
题意一句话:第一行读入 n,第二行给出 2n 个整数,把它们按顺序两两一组(第 1、2 个一组,第 3、4 个一组……)分别求和,按顺序用空格隔开输出。
2n 个数排成一排,第 i 组(从 0 数起)的两个数正好落在下标 2*i 和 2*i+1 上——这是「两两分组」最直接的下标规律,不需要任何算法技巧,按规律取数相加即可。
1. 读入整数 n; 2. 用 input().split() 把同一行的 2n 个整数一次性读进列表 nums; 3. 循环 i 从 0 到 n-1,取 nums[2*i] 与 nums[2*i+1] 相加,把和转成字符串存入结果列表; 4. 用 ' '.join(res) 拼成一行输出,天然避免行末多余空格。
join 拼接,避免行末多一个空格导致格式错误;sys.stdin.read().split() 一次性读入全部数字,兼容性更好。n = int(input())
nums = list(map(int, input().split()))
res = []
for i in range(n):
a = nums[2*i]
b = nums[2*i+1]
res.append(str(a+b))
print(' '.join(res))登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有