题解 CF1204A 【BowWow and the Timetable】

这个题有数论写法,但赛场上与其花不少时间推柿子还不如直接暴力

具体看代码吧

1
2
3
4
5
6
7
8
9
10
11
12
n=int(input()) # 读入n
i=1
ans=0
while n>0:
if n%2==1:
ans+=i
i*=2
n=n//10 # 手动转十进制,注意由于给出的就是二进制而我们存成了10进制,所以每次/10才能去掉最后一位
k=0
while 4**k<ans:
k+=1 # 枚举
print(k)