2020年CCF非专业级软件能力认证
入门级第二轮
2020 CCF CSP-J2
时间:2020年11月7日08:30 ∼ 12:00
题目名称 优秀的拆分 直播获奖 表达式 方格取数
题目类型 传统型 传统型 传统型 传统型
目录 power live expr number
可执行文件名 power live expr number
输入文件名 power.in live.in expr.in number.in
输出文件名 power.out live.out expr.out number.out
时间限制 1.0 秒 1.0 秒 1.0 秒 1.0 秒
内存限制 256 MB 256 MB 256 MB 256 MB
测试点数目 20 20 20 20
提交源程序文件名
C++ 语言 power.cpp live.cpp expr.cpp number.cpp
C语言 power.c live.c expr.c number.c
Pascal语言 power.pas live.pas expr.pas number.pas
编译选项
C++ 语言 -lm
C语言 -lm
Pascal语言
注意事项 (请选手仔细阅读)
1. 文件名(程序名和输入输出文件名)必须使用英文小写。
2. C/C++ 中函数 main() 的返回值类型必须 是int,程序正常结束时的返回值
必须是0。
3. 提交的程序代码文件的放置位置请参照各省的具体要求。
4. 因违反以上三点而出现的错误或问题,申诉时一律不予受理。
5. 若无特殊说明,结果的比较方式为全文比较(过滤行末空格及文末回车)。
6. 程序可使用的栈内存空间限制与题目的内存限制一致。
7. 全国统一评测时采用的机器配置为: Intel(R) Core(TM) i7-8700K CPU @
3.70GHz,内存32GB。上述时限以此配置为准。
8. 只提供Linux格式附加样例文件。
9. 评测在当前最新公布的 NOI Linux下进行,各语言的编译器版本以其为准。
2020年CCF非专业级 软件能力认证入门组第二轮
优秀的拆分(power)
【题目描述】
一般来说,一个正整数可以拆分成若干个正整数的和。例如 ,1=1,10=
1+2+3+4 等。
对于正整数 � 的一种特定拆分,我们称它为 “优秀的”,当且仅当在这种拆
分下,� 被分解为了若干个 不同的 2 的正整数次幂。注意, 一个数 � 能被表
示成 2 的正整数次幂,当且仅当 � 能通过正整数个 2 相乘在一起得到。
例如,10=8+2=2
3
+2
1
是一个优秀的拆分。但是, 7=4+2+1=
2
2
+2
1
+2
0
就不是一个优秀的拆分,因为 1 不是 2 的正整数次幂。
现在,给定 正整数 �,你需要判断这个数的所有拆分中,是否存在优秀的
拆分。若存在,请你给出具体的拆分方案。
【输入格式 】
输入文件名为 power.in。
输入文件只有一行,一个
2020_CSP-J2,2020年信息学奥赛CSP-J2普及组复赛C++真题