python爱因斯坦求阶梯数小程序

这篇博客分享了作者解决一个与爱因斯坦有关的数学问题的小程序。问题涉及阶梯上台阶的方式,使得最后不剩余任何台阶。作者提供了个人理解和实现,并指出应从效率、健壮性和错误处理等方面全面评估程序。

第四个小程序

老师课后的题目是:
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上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性来综合考虑,我还需要提高。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值