刘汝佳蓝书上24页例题
题意 : 给定一个数列
[1到n]
,给定一个操作每次可以选多个数字同时减去一个数字
问最少要多少次操作
例子
123456
执行一次操作[456]
全部减去4
123012
第二次操作把[236]
全部减去2
101010
第三次把[135]
全部减去1
总共操作3
次即可得到答案
- a n s = ⌊ l o g 2 ( n ) ⌋ + 1 ans=\lfloor{log_2(n)}\rfloor+1 ans=⌊log2(n)⌋+1
while(cin >> n)
cout << (int(log2(n)) + 1) << endl;