【请教】Ruby阶乘怎样表示?
ruby吧
全部回复
仅看楼主
level 8
2013年02月04日 02点02分 1
level 9
#函数式写法:
def xx(a)
return 1 if a==1
a * xx(a-1)
end
puts xx(6)
#rb写法:
class Fixnum
def !
return 1 if self==1
self * (self-1).!
end
end
puts 6.!
2013年02月04日 13点02分 2
原来还有这种写法。
2013年04月28日 18点04分
level 9
贴吧把缩进吃掉了。chrome浏览器。
2013年02月04日 13点02分 3
level 9
更牛的写法:
class Fixnum
def !
(1..self).inject(:*)
end
end
puts 6.!
2013年02月04日 13点02分 4
谢谢啦~~~
2013年03月23日 15点03分
牛掰呀
2013年07月18日 05点07分
6是什么意思?为什么一定有一个6?
2013年08月19日 01点08分
回复 伊落丹 :6的意思是计算6的阶层。 如果a=7 ; a.! 就是计算7的阶层;
2013年08月19日 13点08分
level 9
==1的判断应该改成 <=1
2013年02月04日 13点02分 5
level 11
不知为何不用循环而用递归呢
$n = 1
for k in 2..3650
$n*=k
end
puts $n
2013年03月18日 06点03分 7
执行效率差不多吧,可读性感觉也差不多。
2013年07月18日 08点07分
level 6
今天去药店买药,刚好来了一个靓女,来了直接问老板有没有后悔药啊?老板说有8元的,10元的,15元的,你要哪一种?靓妹说,拿个15元的吧,效果好点。我一听来劲了,马上就问老板,你这里真有后悔药卖啊,给我也来一盒,老板说那是事后避孕药!你还要吗?
2014年01月06日 01点01分 11
level 4
52565091 进IT群 大家一起交流
2014年01月06日 07点01分 12
level 6
-----我以为你们会给我一个完好的队形的!
2014年01月06日 21点01分 14
level 1
各位北京上地招聘ruby开发,要求一定英语要好,有意向的qq 2242590537
2014年01月08日 08点01分 15
level 1
(1..10).inject(:*)
2014年01月09日 13点01分 16
level 1
Math.gamma(x+1)
2014年01月21日 05点01分 18
level 9
2014年01月22日 02点01分 19
1