将数字提升为幂的递归

时间:2016-12-01 00:11:59

标签: ruby

我有这段代码:

def power(x, n)
  if n == 1 
    return x
  else 
    x = x * power(x, n-1)
  end
end

power(4, 4)
power(2, 3)
power(10, 3)
power(25, 2)
power(6, 5)

它取第一个数字并将其提升到第二个数量。所以它适用于所有这些,但我想以一种打印所有5个电源功能的结果的方式编写代码。我该怎么做呢?我尝试用puts而不是return来修改,但是我无法让它工作。

1 个答案:

答案 0 :(得分:2)

您有一个变量x,它指向方法调用的结果。您可以打印它,然后从函数中返回它:

def power(x, n)
  if n == 1 
    return x
  else 
    x = x * power(x, n-1)
    puts x
    x
  end
end