2022 年 3 月青少年软编等考 C 语言三级真题解析
目录
- T1. 和数
-
- 思路分析
- T2. 生理周期
-
- 思路分析
- T3. 分解因数
- T4. 文件结构 “图”
-
- 思路分析
- T5. 矩形数量
-
- 思路分析
T1. 和数
给定一个正整数序列,判断其中有多少个数,等于数列中其他两个数的和。比如,对于数列 1 2 3 4 1\ 2\ 3\ 4 1 2 3 4,这个问题的答案就是 2 2 2,因为 3 = 2 + 1 3 = 2 + 1 3=2+1, 4 = 1 + 3 4 = 1 + 3 4=1+3。
时间限制:1 s
内存限制:64 MB
- 输入
共两行,第一行是数列中数的个数 n ( 1 ≤ n ≤ 100 ) n ( 1 \le n \le 100) n(1≤n≤100),第二行是由 n n n 个不大于 10000 10000 10000 的正整数组成的数列,相邻两个整数之间用单个空格隔开。 - 输出
一个整数,即数列中等于其他两个数之和的数的个数。 - 样例输入
4 1 2 3 4
- 样例输出
2
思路分析
此题考查枚举法与桶思想,属于入门题。此题为 2014 年 NOIP 普及组复赛原题【珠心算测验】。
用两层循环分别枚举出 a i , a j a_i,a_j ai,aj,然后将 a i + a j a_i+a_j ai+aj 标记为 1 1 1。枚举结束后遍历所有元素 a i a_i ai,如果 a i a_i ai 被标记为 1 1 1,则说明存在两数之和为 a i a_i ai,则答案累加 1 1 1。
/*
* Name: T1.cpp
* Problem: 和数
* Author: Teacher Gao.
* Date&Time: 2024/11/24 14:18
*/
#include <iostream>