鱼C小迷弟丶 发表于 2023-4-11 17:43:34

那个大神能解释一下这个find 函数

有一个长阶梯,若每步上 2 阶,最后剩 1 阶;若每步上 3 阶,最后剩 2 阶;若每步上 5 阶,最后剩 4 阶;若每步上 6 阶,最后剩 5 阶;只有每步上 7 阶,最后刚好一阶也不剩。
# 由于目标值必须是能被7整除,所以我们将测试每个7的倍数
steps = 7
i = 1
FIND = False

while i < 100:
    # 由于测试的都是7的倍数
    # 因此只要同时满足除以2余1、除以3余2、除以5余4、除以6余5,就是最终的结果
    if (steps % 2 == 1) and (steps % 3 == 2) and (steps % 5 == 4) and (steps % 6 == 5):
      FIND = True
      break
    else:
      steps = 7 * (i + 1)
    i = i + 1

if FIND == True:
    print('阶梯数是:', steps)
else:
    print('在程序限定的范围内找不到答案!')

isdkz 发表于 2023-4-11 17:50:51

本帖最后由 isdkz 于 2023-4-11 20:04 编辑

这个程序是用来找到满足一系列条件的阶梯数。题目给定了以下条件:


[*]每步上 2 阶,最后剩 1 阶;
[*]每步上 3 阶,最后剩 2 阶;
[*]每步上 5 阶,最后剩 4 阶;
[*]每步上 6 阶,最后剩 5 阶;
[*]每步上 7 阶,最后刚好一阶也不剩。


为了找到满足这些条件的阶梯数,程序首先将步数 steps 初始化为7的倍数(因为条件5要求步数必须是7的倍数)。然后,使用一个while循环来遍历所有小于100的7的倍数。

在循环中,程序检查当前的步数是否满足所有条件。如果满足,程序将变量 FIND 设为 True,然后跳出循环。如果不满足,程序将尝试下一个7的倍数。

循环结束后,程序根据 FIND 的值来决定输出结果。如果 FIND 为 True,则输出找到的阶梯数。否则,输出无法在给定范围内找到满足条件的阶梯数。

总之,这个程序的目的是找到一个满足特定条件的阶梯数。它通过遍历所有小于100的7的倍数,检查它们是否满足条件,从而找到答案。

wp231957 发表于 2023-4-11 18:14:13

它只是一个人为设置的标志变量,不是函数
页: [1]
查看完整版本: 那个大神能解释一下这个find 函数