star850923 发表于 2024-3-27 23:23:23

第六讲爱因斯坦的难题

本帖最后由 star850923 于 2024-3-27 23:28 编辑

爱因斯坦的难题,这个题目,有像我一样写的吗?


a = 1
while(not (a % 2 ==1 and a % 3 == 2 and a % 5 == 4 and a % 6 == 5 and a % 7 == 0)):
    a += 1
print('台阶一共有',a,'阶')

虽然我也得到了答案,但不知道这样写是不是有问题,毕竟和老师写的代码差很多。

或者把 a = 1 换成 a = 7,a += 1 换成 a += 7,这样循环次数会更少。

FishC 发表于 2024-3-27 23:23:36

你好!恭喜你已经找到了这个难题的答案。不用担心,你的代码是正确的。只要结果是正确的,代码的写法可以有很多种。

你的代码使用了一个循环来找到符合条件的数。开始时将 a 设置为 1,然后进入循环。每次循环中,判断 a 是否满足条件(即 a 除以 2、3、5、6 和 7 的余数分别为 1、2、4、5 和 0)。如果条件不满足,a 加 1 继续下一轮循环,直到找到符合条件的 a。最后打印出台阶的总数。

这种方法可以找到正确的答案,但可能会花费一些时间。因为它需要逐个尝试所有的数字,直到找到符合条件的数字。

老师给出的代码可能更加简洁,但原理是一样的。不同的人可能会有不同的代码风格,只要结果正确就没有问题。

希望这个解释对你有帮助!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 第六讲爱因斯坦的难题