ACM训练1193: 半数集问题题解

冷默言语 算法基础篇 90 0
想要成为编程高手?那就来试试全网最全C++题库,让您在练习中快速成长。
给定一个自然数n,由n开始可以依次产生半数集set中的数如下, 在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半; 按此规则进行处理,直到不能再添加自然数为止,例如,set={6,16,26,126,36,136},半数集set中有6 个元素,注意半数集是多重集。

给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下。 (1) n∈set(n); (2) 在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半; (3) 按此规则进行处理,直到不能再添加自然数为止。 例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6 个元素。 注意半数集是多重集。 编程任务: 对于给定的自然数n,编程计算半数集set(n)中的元素个数。

ACM训练1193: 半数集问题题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
不断挑战自我,才能突破极限!全网最全C++题库,让您在编程道路上越走越远。

标签: ACM训练1193: 半数集问题题解