读书人

ruby 兑现杨辉三角

发布时间: 2013-01-28 11:49:56 作者: rapoo

ruby 实现杨辉三角

递归思想?
每一行我看做是一个数组,传入的参数是上一个数组,当然每一个结果数组用temp缓存一下,?
每传入一个数组,那么打印一次,也就是每行的结果了

代码]?[Ruby]代码01class?Sanjiao02????????????????def?initialize(row)03????????????????????????@row?= row04????????????????end05????????????????def?sanjiaoxing(temp)06????????????????number = temp.length07???????????????temp.each?do?|x|08????????????????????????????????????print x.to_s+' '09?????????????????????????????end10????????????array =?Array.new(number.to_i+1)11?????????????????????????????0.upto(number.to_i)?do?|x|12?????????????????????if?x ==?0?????????????????#? 两端的就不用求了,13?????????????????????????????????????????????????????????array[0] =114???????????????????????????????????????elsif??x == number.to_i15?????????????????????????????array[number.to_i] =?116?????????????????????else17?????????????????????????????????????????????array[x]=temp[x-1].to_i+temp[x].to_i???#根据上一个数组的结果得下一数组的值18???????????????????????????????????end19?????????????????????????????end20????????????????????????????????temp = array???#hauncunyixia21?????????????????????????????puts?" "22???????????????if?number.to_i <?@row23?????????????????????????????????sanjiaoxing(temp)24???????????????end25????????????????end26end27?28temp =?Array.new(1)29temp[0] =130p = Sanjiao.new(20)31p.sanjiaoxing(temp)

读书人网 >Ruby Rails

热点推荐