python基础练习题:号码登山者【难度:1级】:

对于每个正整数N,存在以1开始并以N结尾的唯一序列,并且序列中的每个数字都是前一个数字的两倍或双加1.

例如,给定N = 13,序列是[1,3,6,13],因为. . . :


 3 = 2 * 1 +1
 6 = 2 * 3
 13 = 2 * 6 +1

编写一个函数,在给定数字N的情况下返回此序列.尝试按升序生成结果列表的元素,即不依赖于列表反转或将元素预先添加到列表中.

编程目标:

def climb(n):
    #your code here
    pass


测试样例:

test.assert_equals(climb(13), [1, 3, 6, 13])
test.assert_equals(climb(10), [1, 2, 5, 10])
test.assert_equals(climb(1), [1])


最佳答案(多种解法):

点击查看答案

更多关联题目:

Python进阶练习题:数值回文#2【难度:2级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
Python基础练习题:二进制加法【难度:1级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
python进阶练习题:Dbftbs Djqifs【难度:2级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/number-climber

更多推荐

python基础练习题:号码登山者【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶