ruby - 在数组中添加元素

标签 ruby arrays algorithm

<分区>

我有以下问题:

  1. 有一个数组,由6个数字组成,每组最多两位数。
  2. Y 是一个数组,其第 i 个元素是第一个数组的前 i +1 个元素的总和。
  3. 通过键盘接受数字输入。如果它与 Y 中的数字之一匹配,则显示一条消息;如果没有,请重新启动程序。

Diagram

这是我想的算法:

  • 初始化空数组[x] & [y]
  • 6.times.map{ Random.rand(1..99) }
  • 用每个do加数字?
  • 存储在数组[y]中
  • 将输入与 == 数组 [y] 进行比较
  • 如果任何实例匹配显示消息,否则重启

对于解决此问题的任何指导或帮助,我将不胜感激。

最佳答案

loop do
  x = Array.new(6){rand(99)}
  y = []
  x.each{|k| y.push(k + y.last.to_i)}
  y.shift
  break if y.include?(gets.to_i)
end
puts 'message'

关于ruby - 在数组中添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6474913/

相关文章:

ruby - 在多个线程中运行时出现 "Name or service not known (SocketError)"错误

ruby - 如何根据名称动态调用方法?

java - 尝试显示所有可能的配料组合

javascript - 遍历 DIV 元素并获取动态添加的文本输入 - PHP

c++ - 指针如何根据用户帮助输入数组?

algorithm - 不可变语言如何高效地实现 set、concat、equals 等?

sql - 在 SQL 中,如何选择已修改的列?

ruby - 在线程中调用类的方法

c - 全有或全无 - 快速启发式最短路径算法(并行?)

c - 排序数字(下划线)