Tag: 嵌套循环

嵌套循环Ruby

难以理解这个嵌套循环问题: 你有10个鹅卵石(编号1-10)。 它们默认为黑色。 如果它们是黑色的,则必须将它们涂成白色,或者如果它们是白色则将它们涂成黑色。 共有10轮。 每一轮,你必须改变当前轮次倍数的鹅卵石。 鹅卵石默认为黑色。 第一轮,你改变每一块鹅卵石(将它们全部涂成白色)。 第二轮,你改变所有其他鹅卵石(你画鹅卵石#2,4,6,8,10黑色)。 第3轮,你改变鹅卵石#3,6,9。 第4轮你改变鹅卵石#4,8。 … … 第10轮,你改变#10卵石。 在第10轮之后,哪些鹅卵石被涂成黑色并且涂成白色? 我没有运行的解决方案如下(我尝试通过制作一组数字(转换为字符串)并添加“w”(如果涂成白色)并删除“w”(如果涂成黑色)。 (我已经尝试编辑它以使其运行,但我是嵌套循环的新手,我只是没有理解这个概念)。 如果有人能向我解释我做错了什么并给出更好的解决方案,我将不胜感激。 pebbles = (1..10).map {|element| element.to_s} pebble_colors = (1..10).map {|element| element.to_s} (1..10).each do |round| pebbles_to_paint = [] pebbles.each_with_index {|element, index| pebbles_to_paint << index if element % round == 0} pebbles_to_paint.each do |pebble_number| if pebble_color[pebble_number].include?("w") pebble_color[pebble_number].delete!("w") else pebble_color[pebble_number] << […]