CCF GESP 2025年6月认证 C++ 2级
三
编程题
第 1 题
数三角形
题目描述
直角三角形有两条直角边与一条斜边,设两条直角边的长度分别为 $a,b$,则直角三角形的面积为 $ \frac{ab}{2} $。
请你计算当直角边长 $a,b$ 均取不超过 $n$ 的正整数时,有多少个不同的面积为整数的直角三角形。直角边长分别为 $a,b$ 和 $a',b'$ 的两个直角三角形相同,当且仅当 $a=a',b=b'$ 或者 $a=b',b=a'$。
输入格式
一行,一个整数 $n$,表示直角边长的最大值。
输出格式
输出一行,一个整数,表示不同的直角三角形数量。
样例说明
样例 1
输入:
3
输出:
3
样例 2
输入:
5
输出:
9
数据范围
对于所有测试点,保证 $1 \leq n \leq 1000$。
第 2 题
幂和数
题目描述
对于正整数 $n$,如果 $n$ 可以表示为两个 2 的次幂之和,即 $n = 2^x + 2^y$( $x,y$ 均为非负整数),那么称 $n$ 为幂和数。 给定正整数 $l,r$,请你求出满足 $l \leq n \leq r$ 的整数 $n$ 中有多少个幂和数。
输入格式
一行,两个正整数 $l,r$,含义如上。
输出格式
输出一行,一个整数,表示 $l,r$ 之间幂和数的数量。
样例说明
样例 1
输入:
2 8
输出:
6
样例 2
输入:
10 100
输出:
20
数据范围
对于所有测试点,保证 $1 \leq l \leq r \leq 10^4$。
编程题部分已到底了。