CCF GESP 2025年9月认证 C++ 5级
三
编程题
第 1 题
数字选取
题目描述
给定正整数 $n$,现在有 $1,2,\ldots,n$ 共计 $n$ 个整数。你需要从这 $n$ 个整数中选取一些整数,使得所选取的整数中任意两个不同的整数均互质(也就是说,这两个整数的最大公因数为 $1$)。请你最大化所选取整数的数量。
例如,当 $n=9$ 时,可以选择 $1,5,7,8,9$ 共计 $5$ 个整数。可以验证不存在数量更多的选取整数的方案。
输入格式
一行,一个正整数 $n$,表示给定的正整数。
输出格式
一行,一个正整数,表示所选取整数的最大数量。
样例说明
样例 1
输入:
6
输出:
4
样例 2
输入:
9
输出:
5
数据范围
对于 $40\%$ 的测试点,保证 $1\le n\le 1000$。
对于所有测试点,保证 $1\le n\le 10^5$。
第 2 题
有趣的数字和
题目描述
如果一个正整数的二进制表示包含奇数个 $1$,那么小 A 就会认为这个正整数是有趣的。
例如,$7$ 的二进制表示为 $(111)_2$,包含 $1$ 的个数为 $3$ 个,所以 $7$ 是有趣的。但是 $9=(1001)_2$ 包含 $2$ 个 $1$,所以 $9$ 不是有趣的。
给定正整数 $l,r$,请你统计满足 $l\le n\le r$ 的有趣的整数 $n$ 之和。
输入格式
一行,两个正整数 $l,r$,表示给定的正整数。
输出格式
一行,一个正整数,表示 $l,r$ 之间有趣的整数之和。
样例说明
样例 1
输入:
3 8
输出:
19
样例 2
输入:
65 36248
输出:
328505490
数据范围
对于 $40\%$ 的测试点,保证 $1\le l\le r\le 10^4$。
对于另外 $30\%$ 的测试点,保证 $l=1$ 并且 $r=2^k-1$,其中 $k$ 是大于 $1$ 的正整数。
对于所有测试点,保证 $1 \le l\le r\le 10^9$。
提示
由于本题的数据范围较大,整数类型请使用 long long。
编程题部分已到底了。