Chinaunix
标题:
ruby 实现了杨辉三角
[打印本页]
作者:
fff2001
时间:
2015-07-03 11:29
标题:
ruby 实现了杨辉三角
http://blog.csdn.net/elvaloving/article/details/7082585
递归思想
每一行我看做是一个数组,传入的参数是上一个数组,当然每一个结果数组用temp缓存一下,
每传入一个数组,那么打印一次,也就是每行的结果了,
[Ruby]代码
class Sanjiao
def initialize(row)
@row = row
end
def sanjiaoxing(temp)
number = temp.length
temp.each do |x|
print x.to_s+' '
end
array = Array.new(number.to_i+1)
0.upto(number.to_i) do |x|
if x == 0 # 两端的就不用求了,
array[0] =1
elsif x == number.to_i
array[number.to_i] = 1
else
array[x]=temp[x-1].to_i+temp[x].to_i #根据上一个数组的结果得下一数组的值
end
end
temp = array #hauncunyixia
puts " "
if number.to_i < @row
sanjiaoxing(temp)
end
end
end
temp = Array.new(1)
temp[0] =1
p = Sanjiao.new(20)
p.sanjiaoxing(temp)
复制代码
作者:
阿拉伯之春
时间:
2015-09-22 16:41
Ruby 太简洁了
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2