yanlinlin 站长放出个问题,按照《魔方与数学》一文的后记上记录的:
请将1、11、111、1111、……的平方写下来,从最小的开始,每个占一行,并且全部居中书写,图形的样子?
问题不难,不外乎就是将这些数字平方,在按照要求放置。但,存在一个小问题,计算机一个单元存储数据的数据长度不是无限制的,而且精度也有所限制,所以当11111111平方的时候,R给出的数据已经是约数了。帖子讨论详见(这里)
还好,这些数据的平方比较简单,可以通过模拟平方的运算过程来得到精确的结果,代码如下:
生成的图形有些像杨辉三角,也是非常漂亮:

但我想应该还有更好的实现方式,期待跟帖出现。
相关文章:
貌似把数位放反了,每一行的高位和低位得颠倒一下。:)
是的,这一步没处理。因为我看是对称的,呵呵
不对,不是对称的,看走眼了。需要颠倒一下:)
[...] 来源:一个美丽的三角形, 刘思喆 @ 贝吉塔行星 This entry was posted in 默认分类. Bookmark the permalink. [无所不包的R]多核计算multicore package → [...]
不专业的用Ruby解个
proc do |line|
(1..line).each do |num|
puts “#{‘ ‘*(line – num)}#{(’1′*num).to_i**2}”
end
end.call((ARGV[0] || 36).to_i)
截图 ==>>> https://raw.github.com/gist/1261488/c846b5d9e065df6f1c9d5fde32ac65dc24368846/彩虹金字塔.png