🏈🏈🏈 不用循环和递归,判断足球比赛得分是否有效!

试想一下:在一种足球比赛中,只有两种得分方式:达阵(7分)和射门得分(3分)。 给你达阵次数、射门次数和总得分。 你能判断是否可以用给定的达阵/射门次数恰好达到总得分吗?

例如:

  • (3, 5, 27) 答案是'是',因为你可以使用所有 3 次达阵和 5 次射门得分中的 2 次来达到 27 分。* (4, 1, 25) 答案是'否',因为无法得到恰好 25 分。

如何解决这个问题? 模运算来帮忙!

  1. 达阵得分的影响: 总得分除以达阵得分 (总得分 % 7) 的余数决定了我们需要多少分来自射门得分。

  2. 射门得分是否足够? 如果余数为 0,我们只需要射门得分。 检查射门次数是否大于或等于总得分除以射门得分 (总得分 // 3)。 是吗? 答案是'是'! 如果不是,答案是'否'。

  3. 探索不同的达阵次数: 如果余数不为 0,我们需要尝试不同的达阵次数组合。 从最大达阵次数开始,依次减少,看看剩余的得分是否可以完全由射门得分组成。

  4. 找到匹配或宣布失败: 如果我们找到一个达阵次数和射门次数的组合与总得分匹配,答案是'是'。 如果我们尝试了所有组合都没有找到匹配,答案是'否'。

这种方法有效地解决了这个问题,而无需循环或递归,使其成为一个优雅且高效的解决方案。

🏈🏈🏈 不用循环和递归,判断足球比赛得分是否有效!

原文地址: https://www.cveoy.top/t/topic/jbm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录