#Lutece2333. 外星货币
外星货币
Migrated from Lutece 2333 外星货币
All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.
Description
在距离地球 光年外的星系,有一颗 cdy 星球,那里也有着高度的文明。cdy 星球上的居民也是用货币交换商品,但与地球的体系有所不同。cdy 星上的货币都是正整数面额的,并且一件价格为 的商品必须用面额恰好为 的货币交换。与地球更不同的是,cdy 星上的货币可以进行合成:一个面值为 和一个面值为 的货币,可以合成一个面值为 或者面值为 的货币(合成 的货币时必须满足 ),合成后原来的两个货币消失,新的货币可以与其他货币继续合成。
cjh 是 cdy 星球上的一个居民。这天,cjh 想出门买东西,但他忘记那个东西的价格了,只记得那个东西的价格是不超过 的正整数。他家里有任意正整数面额的货币,但每种面额的货币有且只有一个。他想带尽可能少的货币,使得不管那个东西的价格是多少,他都能给出对应面额的货币。他想知道,他最少需要带多少货币。
Input
第一行包含一个正整数 ,。
Output
输出一个整数,表示最少需要的货币个数。
Samples
20
4
Note
样例解释:可以选择带面额为 的货币(方法不唯一)。如果价格为 ,可以用 和 合成 ,再用 和 合成 。其他价格也都有相应方案。
Resources
电子科技大学第十一届 ACM 趣味程序设计竞赛