CF1037A Packets

    • 179通过
    • 280提交
  • 题目来源 CodeForces 1037A
  • 评测方式 RemoteJudge
  • 标签 数论,数学 枚举,暴力 进制
  • 难度 普及/提高-
  • 时空限制 1000ms / 256MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题意翻译

    你有$n$个硬币,每个硬币价值都为$1$。

    你要把它们分成若干个小包裹,使得在$1$与$n$之间的所有面额都能用这其中某几个小包裹凑出。

    每个小包裹只能作为一个整体使用。

    请求出最少要分几个包裹。

    输入格式:

    一个数$n$($1\le n\le 10^9$)。

    输出格式:

    输出最少要分几个包裹。

    样例解释1:

    分成$3$个包裹:$[1,2,3]$,可以凑出$1$到$6$中所有的面额。

    题目描述

    You have $ n $ coins, each of the same value of $ 1 $ .

    Distribute them into packets such that any amount $ x $ ( $ 1 \leq x \leq n $ ) can be formed using some (possibly one or all) number of these packets.

    Each packet may only be used entirely or not used at all. No packet may be used more than once in the formation of the single $ x $ , however it may be reused for the formation of other $ x $ 's.

    Find the minimum number of packets in such a distribution.

    输入输出格式

    输入格式:

    The only line contains a single integer $ n $ ( $ 1 \leq n \leq 10^9 $ ) — the number of coins you have.

    输出格式:

    Output a single integer — the minimum possible number of packets, satisfying the condition above.

    输入输出样例

    输入样例#1: 复制
    6
    
    输出样例#1: 复制
    3
    输入样例#2: 复制
    2
    
    输出样例#2: 复制
    2

    说明

    In the first example, three packets with $ 1 $ , $ 2 $ and $ 3 $ coins can be made to get any amount $ x $ ( $ 1\leq x\leq 6 $ ).

    • To get $ 1 $ use the packet with $ 1 $ coin.
    • To get $ 2 $ use the packet with $ 2 $ coins.
    • To get $ 3 $ use the packet with $ 3 $ coins.
    • To get $ 4 $ use packets with $ 1 $ and $ 3 $ coins.
    • To get $ 5 $ use packets with $ 2 $ and $ 3 $ coins
    • To get $ 6 $ use all packets.

    In the second example, two packets with $ 1 $ and $ 1 $ coins can be made to get any amount $ x $ ( $ 1\leq x\leq 2 $ ).

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。