总共有四种解法,我这边解释一个最容易看懂的解法(相对于数学没太多基础的人,但你需要有编程基础)
首先我把循环调成1到2这样方便理解
首先循环两次,第一次为0
然后b+=a和a*=2,b此时为1,a为2
最后格式化输出,b为1,a为1,正好是题目第一个值1/1
然后循环变成1,也就是循环第二次
b为3,a为4 (对应上面的7~8行)
输出的结果为3/2(相当于1/1和2/1的和,这边我省略了过程,和上面0处相同,可自行理解)
如图所示:
代码
#第二种
a,b=1,0
for i in range(0,2): #可以在这边把数值调小,方便查看(调成2就容易了)
b+=a
a*=2
print('%d/%d' %(b,a/2))