如何编写用于除偶数最大相等奇数的代码

Rik*_*kas 2 ruby algorithm math numbers

我有一组数字要检查.如果数字是偶数,程序将检查它的最大奇数分频器是否相等.例如,如果数字是12,程序将返回一个像[3,3,3,3]或36的数组,它将是[9,9,9,9],让我们说54,[27,27] ]和56,[7,7,7,7,7,7,7,7]等.我正在用ruby编写代码.我无法弄清楚如何编写正确的算法.任何帮助将不胜感激.

aku*_*uhn 5

试试这个

def fun(num)
  odd = num
  odd /= 2 while odd.even?
  [odd] * (num / odd)
end
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

这除以num2,直到它是一个奇数.