最少砝码

问题描述

你有一架天平。现在你要设计一套砝码,使得利用这些磁码可以称出任意 小于等于 的正整数重量 那么这套砝码最少需要包含多少个砝码? 注意砝码可以放在天平两边。

输入格式

输入包含一个正整数 N。

输出格式

输出一个整数代表答案

样例输入

7

样例输出

3

样例说明

3个砝码重量是1、4、6,可以称出1至7的所有重量 1=1; 2=6-4(天平一边放6,另一边放 4); 3=4-1; 4=4; 5=6-1; 6=6; 7=1+6; 少于3个砝码不可能称出1至7的所有重

评测用例规模与约定

对于所有评测用例,1<=N<=000000000

MyCode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#1 (1)->1
#2 (1+1)->2
#3 (2+1)->2
#4 (2+1+1)->3
#5 (3+1+1)->3
#6 (2+3+1)->3
#7 (1+4+6)->3
#8 (4+2+1+1)->4
#9 (4+2+1+2)->4
#10 (5+1+3+1)->4
#11 (6+1+3+1)->4
#12 (6+2+3+1)->4
#13 (7+2+3+1)->4
#14 (8+2+3+1)->4
#15 (9+2+3+1)->4
#16 (9+2+3+1+1)->5

li=[0]
N=int(input())
while(li[-1]<N):
li.append(li[-1]*3+1)
print(li.index(li[-1]))

最少砝码
https://ianwusb.blog/2024/04/02/最少砝码/
作者
Ianwusb
发布于
2024年4月2日
许可协议