求阶乘及阶乘和

上一篇 / 下一篇  2016-09-21 22:52:13 / 个人分类:Ruby


#求阶乘方法一
def f1(n)
  if n == 1
    return 1 
  else
  return n * f1(n-1)
  end
end

#求阶乘方法二
def f2(n)
  i = 1
  while n > 0
    i *= n
    n -= 1
  end
  return i
end
 
#求1到n的阶乘之和方法一
sum = 0
(1..43).each do | x |
  sum = sum + f2(x)  
end
puts sum

#求1到n的阶乘之和方法二
def f3(n)
  sum = 0
  n.downto(1) do
    while n > 0
      i = 1
      i *= n
      n -= 1
      sum *= i
      sum += i
    end
  end
  return sum
end
puts f3(43)

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 2536
  • 日志数: 2
  • 建立时间: 2011-11-14
  • 更新时间: 2016-09-21

RSS订阅

Open Toolbar