解决公式问题(GCD和LCM)

时间:2018-03-27 14:55:03

标签: algorithm formula greatest-common-divisor

我很难找出用于更有效地解决特定问题的公式。

例如,我遇到的问题如下:

  

n 将孩子放在一个圆圈中。每个 k th 孩子都会获得巧克力,直到已经给予巧克力的孩子为止。   再次选中。确定没有的 nr 子项数   给予巧克力,给予 n k   例如: n = 12, k = 9; nr 将是8.

这个问题可以通过两种方式解决:

  • 创建一个布尔数组并遍历它直到选择了一个没有巧克力的子项(不是很有效);
  • 使用公式: n - n / GCD(n,k);

我将如何找出解决它的方法(公式)2? nd ? 此外,我在哪里可以练习这种特定类型的问题,有一种明显的,缓慢的解决方法,或者一种需要你找出公式的有效方法?

1 个答案:

答案 0 :(得分:0)

每个问题都不同,没有规则可以找到解决方案。你需要分析它的情况和原因。数学训练有很多帮助。

对于这个具体示例,您可以这样继续:将孩子从0编号为n-1。如果你从0开始,那些得到巧克力的孩子就是那些被GCD整除的数字(n,k)。有多少人:n / GDC(n, k)因此,有多少人没有得到巧克力:n -n / GDC(n, k)