Ruby 在数组中添加元素

Ruby 在数组中添加元素,ruby,arrays,algorithm,Ruby,Arrays,Algorithm,我有以下问题: 有一个由6个数字组成的数组,每个数字最多两位 Y是一个数组,其第i个元素是第一个数组的前i+1个元素之和 通过键盘接受数字输入。如果它与Y中的一个数字匹配,则显示一条消息;如果没有,请重新启动程序 这就是我所想的算法: 初始化空数组[x]&[y] 6.times.map{Random.rand(1..99)} 使用每个do添加数字 存储在数组中[y] 将输入与==数组[y]进行比较 如果任何实例与display msg else匹配,请重新启动 我非常感谢您对这个问题的任何

我有以下问题:

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

    • 初始化空数组[x]&[y]
    • 6.times.map{Random.rand(1..99)}
    • 使用每个do添加数字
    • 存储在数组中[y]
    • 将输入与==数组[y]进行比较
    • 如果任何实例与display msg else匹配,请重新启动

    我非常感谢您对这个问题的任何指导或帮助。

    这里有一个快速解决您问题的方法

    def check_number_in_array
      x = Array.new(6)
      y = []
      begin
        x.collect! { rand(99) }
        y.clear
        sum = 0
        x.each do |i|
          sum = sum+i
          y << sum
        end
        gets
        # The following lines are just for "debugging"
        print "x = [ "
        x.each {|i| print i, " "}
        print "]\ny = [ "
        y.each {|i| print i, " "}
        print "]\n"
      end while !y.include?($_.to_i)
      puts "Good guess!"
    end
    
    def检查\u数组中的\u编号
    x=数组。新建(6)
    y=[]
    开始
    x、 收集!{rand(99)}
    y、 清楚的
    总和=0
    x、 每个人都有|
    sum=sum+i
    
    这是你的问题的一个快速尝试

    def check_number_in_array
      x = Array.new(6)
      y = []
      begin
        x.collect! { rand(99) }
        y.clear
        sum = 0
        x.each do |i|
          sum = sum+i
          y << sum
        end
        gets
        # The following lines are just for "debugging"
        print "x = [ "
        x.each {|i| print i, " "}
        print "]\ny = [ "
        y.each {|i| print i, " "}
        print "]\n"
      end while !y.include?($_.to_i)
      puts "Good guess!"
    end
    
    def检查\u数组中的\u编号
    x=数组。新建(6)
    y=[]
    开始
    x、 收集!{rand(99)}
    y、 清楚的
    总和=0
    x、 每个人都有|
    sum=sum+i
    
    对不起,你的问题是什么?:)对不起,你的问题是什么?:)如果你愿意,你可以这样计算y:
    y=x.size.times.map{i | a[0..i].inject(&:+)}
    @Wayne这是另一个有效的解决方案。如果你愿意,你可以这样计算y:
    y=x.size.times.map{i | a[0..i]。inject(&:+)}
    @Wayne这是另一个有效的解决方案。