好的,我实际上正在做这个练习来解决那些嵌套循环问题。我会说这对我来说是最难的。我尽力做到更有活力而不是静态。谁能给我提示如何解决这个问题?
预期产出:
1
1 2
1 2 4
1 2 4 8
1 2 4 8 16
1 2 4 8 16 32
1 2 4 8 16 32 64
1 2 4 8 16 32 64 128
这是我的静态代码:
n = 1
for i in 1..8
for c in 1..n
case i
when 1
print "1"
when 2
print "1 2"
when 3
print "1 2 4"
when 4
print "1 2 4 8"
when 5
print "1 2 4 8 16"
when 6
print "1 2 4 8 16 32"
when 7
print "1 2 4 8 16 32 64"
when 8
print "1 2 4 8 16 32 64 128"
end
print "\n"
end
end
我不是在寻找答案。但我很感激你可以指导我。
答案 0 :(得分:3)
var n = 352, reverse = 0, remainder;
while (n>0) {
remainder = n%10;
reverse = reverse * 10 + remainder;
n = Math.floor(n / 10);
}
console.log(reverse);
打印
for x in 0..7
for y in 0..x
op = 2**y
print op, " "
end
puts ""
end
答案 1 :(得分:1)
您需要存储每个步骤的结果并添加新步骤。
Ruby不能用于for,有更好的方法,例如我在这里使用的.upto
方法。 inject
提供结果变量out
,您可以在其中添加步骤计算。 " #{2**i} "
是计算内插为带有空格的字符串。
(0.upto 8).inject("") do |out, i|
puts out
out << "#{2**i} "
end
哪个给出了
1
1 2
1 2 4
1 2 4 8
1 2 4 8 16
1 2 4 8 16 32
1 2 4 8 16 32 64
1 2 4 8 16 32 64 128