第四个小程序
老师课后的题目是:
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。
这是我按照我得理解写出来的小程序:
print('------爱因斯坦求阶梯数学题计算----------')
i = 0
num = 0
temp = input('请输入一个数值范围来计算:')
guess = int(temp)
while i < guess:
if i % 2 == 1 and i % 3 == 2 and i % 5 == 4 and i % 6 == 5 and i % 7 == 0:
num = i
print(num)
i+=1
else:
i+=1
print('运算结束以上结果符合规则,如空请试着输入更大的数')
这是老师的答案:
x = 7
i = 1
flag = 0
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
flag = 1
else:
x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
i += 1
if flag == 1:
print('阶梯数是:', x)
else:
print('在程序限定的范围内找不到答案!')
程序有很多种写法,我们应当多方面考虑,从运行速度,健壮性,耐bug性来综合考虑,我还需要提高。
这篇博客分享了作者解决一个与爱因斯坦有关的数学问题的小程序。问题涉及阶梯上台阶的方式,使得最后不剩余任何台阶。作者提供了个人理解和实现,并指出应从效率、健壮性和错误处理等方面全面评估程序。
3417

被折叠的 条评论
为什么被折叠?



