ruby - 如何编写偶数除以最大相等奇数的代码

标签 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​​ 编写代码。我不知道如何编写正确的算法。任何帮助将不胜感激。

最佳答案

试试这个

def fun(num)
  odd = num
  odd /= 2 while odd.even?
  [odd] * (num / odd)
end

这是如何工作的?

这会将num除以2,直到它是奇数。

关于ruby - 如何编写偶数除以最大相等奇数的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916196/

相关文章:

c++ - 如何找到给定范围内的整数个数甚至设置位

ruby - 如果空格不存在,则在某个字符前插入空格

algorithm - 后缀树中的后缀链接是否与 aho-corasick 自动机中的失败边相同?

c++ - 如何查找不带 "111"的 0 和 1 序列的数量

python - Python中子树的大小

math - 函数式编程中的对偶方法

math - 用户键入时,实时从TextFormField()中减去数字值从Text()中减去

ruby - 我可以在不坚持的情况下删除 Mongoid 中的嵌入式文档吗?

ruby - 字符串连接错误

ruby-on-rails - 验证 ssl 证书以验证访问我们私有(private) api 的服务?