每组数据一行一个数字,为题目中的n(n小于等于1000)。
一行输出最后剩下的数字。
500
255
while 1: try: n=int(input()) l=list(range(n+1)) while len(l)>1:#数组中元素大于1时 l=list(filter(lambda x:l.index(x)%2==1,l))#过滤掉奇数位的数,只留下偶数位的数 print(l[0]) except: break
python常规解法:
while True: try: a=list(range(int(input())+1)) while len(a)>1: a=(list(filter(lambda c: a.index(c) % 2 == 1, a))) print(a[0]) except: break
from math import log as f try: while 1: print (1 << int(f(input(), 2))) - 1 except: pass
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题