【基础入门题】Golang 027.  佩尔数列Pell(n)

佩尔数列是一个扩展版的斐波那契数列,它的第一项为0,第二项为1,第三项是第二项的二倍加上第一项 ;第四项是第三项的二倍加上第二项,以此类推。
Pell(n) = 0 ,1, 2,5,12, 29, 70, 169 ,408, 985 ,2378 ...

代码1: 递归法

package mainimport "fmt"func Pell(n int) int {if n == 1 {return 0}if n == 2 {return 1}return Pell(n-1)*2 + Pell(n-2)
}func main() {for i := 1; i <= 11; i++ {fmt.Print(Pell(i))if i < 11 {fmt.Print(",")}}fmt.Println(",...")
}

输出:

0,1,2,5,12,29,70,169,408,985,2378,...

 代码2: 递推法

package mainimport "fmt"func Pell(n int) int {p1, p2 := 0, 1for i := 1; i < n; i++ {p1, p2 = p2, p1+2*p2}return p1
}func main() {for i := 1; i <= 11; i++ {fmt.Print(Pell(i))if i < 11 {fmt.Print(",")}}fmt.Println(",...")
}

编程语言:包括但不限于Golang
题目来源:派森特给站每日刷题频道


扩展阅读:黄金分割和白银分割

斐波那契数列对应的是黄金分割,而佩尔数列对应的是白银分割

黄金分割

黄金分割的应用有很多很多,在大自然中和艺术创作中都有很好的体现。那么我们自然地会想到那么白银分割有什么实际意义呢?遗憾的是,我们没有看到白银分割率在大自然中出现。这也从另一方面说明大自然是多么钟爱黄金分割。

建筑与黄金分割和白银分割的联系,这是东西方文化中应用黄金分割与白银分割的一个重要差别。

在西方,甚至在古埃及、古希腊和印度等地,黄金分割的使用是比较明显的。我们可以说,那时候人们就在自觉地采用这个比例。达·芬奇和卢卡·帕乔利共同完成的《神圣比例》一书中专门讨论了比例在建筑、艺术、解剖学和数学中的作用。黄金分割的选择除了它的美感外,也在于它的简单。我们常说简约之美,揭示了二者的关系。这个过程可以从下图表达出来:

▲ 黄金分割的简约之美

在没有现代测量手段的古代,这样简单的方法方便了人们在建筑中掌控尺寸。所以黄金分割出现在建筑中也就不足为奇了。下面我们来欣赏一些具有黄金分割比的建筑。

▲ 埃及胡夫金字塔

埃及胡夫金字塔建于公元前 2560 年前后。人们在其结构中不仅发现了黄金分割比,还发现了圆周率和勾股定理。这与我们上面介绍的黄金分割比的作图不谋而合。现在研究人员无法找到确凿的证据说明古埃及人自觉运用了黄金分割比。但人们在更多的埃及金字塔中也发现了这个比率。这很难说是巧合吧。

▲ 帕特农神庙

古希腊建筑设计使用黄金分割来展现一种令人舒适的长宽之比。建于公元前 447 至 438 年的帕特农神庙(Parthenon)是一个典型的例子。古希腊人大约是在公元前 300 年认识到黄金分割的。这个数字记录在阿基米德的《原本》一书中。我们无法确认古希腊人是否有意识地采用了这个比例,但通过对图片的划分,我们应该能够找到很多黄金比例。

▲ 巴黎圣母院

巴黎圣母院(Notre-Dame de Paris)约建造于 1163 年到 1250 年间。根据哥德式建筑方面研究的专家弗雷德里克·麦克迪·隆德(Frederik Macody Lund)的研究发现,它在几个最重要的设计比例中用到了黄金分割比。

类似的例子还有印度泰姬陵,突尼斯凯鲁万大清真寺(The Great Mosque of Kairouan),印度尼西亚的婆罗浮屠佛塔(Stupa of Borobudur),加拿大多伦多电视塔,上海的东方明珠广播电视塔等。也有人认为故宫里也有黄金分割比,但似乎这个说法有些勉强。

白银分割

人类对白银分割并不乏爱。我们先来看国际间最常使用的 ISO 纸张尺寸。其中的 A4 中就包含着白银分割率。A4 纸的长宽比例是 1.413793103。这个比例的矩形也叫作“A4 矩形”。

▲ A4 矩形

从 A4 纸中剪去一个最大的正方形后,得到一个具有白银分割率的矩形,叫作“白银矩形”。

▲ 从 A4 矩形中切除一个最大正方形

因为 ,我们可以把上图右边的白银矩形转动 ,并把宽扩大到 1 ,同时按同样比例把长扩大到 1+根号2  。

▲ 白银矩形

从这个白银矩形中剪掉一个最大正方形后,我们又得到一个具有长宽比为   根号2   的 A4 矩形。这个过程无限继续下去,我们就交替得到 A4 矩形和白银矩形。不知道是不是因为这个原因,也有人把  称作白银分割率。(事实上,所有的 A 系列纸的长宽都具有这个比例。)

为了区别前面的白银分割率 1+根号2  ,西方有时也把  根号2  叫作日本分割率。这来自于他们对日本文化中对这个比例的了解。其实这个名字不太合适,因为在中国和韩国,人们也早就对这个数字情有厚爱。德国哲学家和实验心理学家费希纳(Gustav Theodor Fechner,1801-1887)曾经做过一个统计实验,看不同文化背景的人们对矩形长宽比例的爱好。他发现在西方,人们更喜欢 1.618:1。韩国人做了一个相应的实验并发现韩国人更喜欢 1.414:1。定林寺(Chongnimsa)和感恩寺(Kamunsa)中的佛塔的设计中就使用了  根号2  比例。韩国人的研究还发现,这个结果是由于朝鲜民族受到了来自中国的佛教的影响以及九章算术和周髀算经的传入。

▲ 山西佛光寺文殊殿(来源:王南)

中国早在五千多年前的红山文化时期就有了使用勾股数的痕迹。清华大学的王贵祥对中国古代建筑专门做了研究。他著有《中国古代木结构建筑比例与尺度研究》,分析了  根号2  在中国古建筑中的重要地位。他发现具有这个比例的建筑有:山西南禅寺大殿、河北阁院寺大殿、天津独乐寺山门、山西榆次雨花宫、浙江报国寺大殿、辽宁奉国寺大殿、山西晋祠圣母殿副阶、河北广济寺三大士殿、河北开善寺大殿、河北隆兴寺牟尼殿副阶、河北牟尼殿龟头殿、山西应县木塔副阶、山西青莲寺中殿、山西佛光寺文殊殿、山西崇福寺弥陀殿、山西善化寺三圣殿、山西晋祠献殿、山西平遥文庙大成殿、山西普贤阁上层外檐和山西应县木塔四层外檐的檐高与柱高的关系,在 1.41( 根号2 )上下浮动。以佛光寺为例,以佛光寺大殿的总高为边长做一个正方形,再以它的对角线做一个弧线,刚好是它总宽的一半。清华另一位大学的老师王南一句话说出了其根源:“所谓的黄金分割是西方建筑美的密码,它造成了帕提农神庙一种永恒的和谐;中国古人则用天圆地方的这种观念来建造出佛光寺大殿这样的建筑,同样达到了和谐完美的境地。”相信在中国的庙宇建筑中应该有很多    的比例吧。因此,我们认为把    称为东方分割率更为合适。

▲ 日本奈良法隆寺中的金堂和五重塔(来源:板原村)

回到日本文化的考察上,去过日本的读者可以注意到,日本的建筑大多不符合黄金分割率。这是因为日本人更喜爱    分割率。传统日本建筑中最著名的应该是位于日本奈良的法隆寺(Hōryū-ji)。这是一个圣德太子于飞鸟时代(约 607 年)建造的佛教木结构寺院。法隆寺占地面积约 18.7 万平方米。法隆寺西院保存了金堂和五重塔。两个建筑中都有   根号2   比例出现。在日本的现代建筑中,著名的东京晴空塔(Tokyo Skytree)也具有这个比例。笔者不知道日本古建筑是否受到了中国古建筑的影响。在梁思成和他的同事们发现了唐朝建筑佛光寺的 1937 年之前,甚至有日本学者声称过:“中国大地上没有唐代木结构建筑,没有一千年以上的木构建筑,如果想看唐朝建筑必须去日本。”但这种说法本身也反映了中国建筑文化对日本的影响。我们猜测,日本的建筑的比例实际上可能也源于中国。

▲ 佛宫寺释迦塔,俗称应县木塔平面和纵向图

我们前面说过,白银分割存在于正八边形中。所以任何具有正八边形的建筑都体现着白银分割。这样的建筑在世界各地都有很多。位于希腊雅典古罗马阿哥拉的的八角形大理石钟塔“风之塔”、中日韩寺庙里的石塔和木塔、法隆寺里的梦殿、耶路撒冷最著名标志之一圆顶清真寺的主题结构等。上面是中国建于辽代的第一木塔佛宫寺释迦塔,俗称应县木塔。它不仅从平面上表现出(近似)正八边形,而且从纵向看也有 根号2 比例。据王南解释,中国古代匠人有一句口诀叫方五斜七。就是说当正方形边长是 5 时,对角线约等于 7。而  根号2  约等于 7 除以 5 等于 1.4。

Golang 027. 佩尔数列Pell(n)相关推荐

  1. 【基础入门题026】佩尔数列Pell(n)

    [基础入门题]2021.11.22 佩尔数列是一个扩展版的斐波那契数列,它的第一项为0,第二项为1,第三项是第二项的二倍加上第一项 :第四项是第三项的二倍加上第二项,以此类推. Pell(n) = 0 ...

  2. 佩尔(Pell)方程最小正整数解

    佩尔方程最小正整数解

  3. 贵金属分割(2)白银分割数之佩尔数列

    引自:维基百科: 依ISO 216的纸张尺寸其长宽之间的比例为1:√2,若其中切掉一块边长和长方形短边相同的正方形,剩下的长方形长宽比例为1:√2-1,也等于1+√2:1,此比例和白银比有关.若一长方 ...

  4. Fibonacci 数列

    斐波纳契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1, ...

  5. POJ 1320 Street Numbers 解佩尔方程

    传送门 Street Numbers Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2529   Accepted: 140 ...

  6. 数论 —— 佩尔方程与连分数

    [概述] 连分数是一种特殊的繁分数,其形式为:  ,通常记为:,其中  和  称为连分数多项式,对于任意的 a 均为一次式,它们的比值称为第 n 个渐进值渐进分数. 佩尔(Pell)方程是一种不定二次 ...

  7. c语言求佩尔方程的解,佩尔方程

    佩尔方程(Pell Equation)为: 其中d不为完全平方数且d>1. 如果已知它的最小特解:x1,y1 那么存在迭代公式: 通过简单的证明: 由此得到矩阵递推式: 暴力法寻找最小特解: t ...

  8. 【Python数列、数列和问题】

    1.e的计算可用如下表达式展开,试计算e,精确到小数点后6位小数 代码 s = 0 item = 1 jc = 1 n = 0 while abs(item) > 1e-6:s = s + it ...

  9. 数论笔记 · 佩尔方程

    转载自:http://blog.sina.com.cn/s/blog_5d06e2390100ll92.html 佩尔方程实际上并不是佩尔提出的,而是费尔马提出,却被欧拉误记为佩尔提出,因此佩尔方程的 ...

最新文章

  1. 为什么要合并HTTP请求?
  2. 皮一皮:老外这是人傻钱多啊...
  3. linux php 断点调试,PHP断点调试工具Xdebug的安装
  4. Python_time模块
  5. MacBook file storage 256g is ok
  6. 【若依(ruoyi)】表格图片预览功能图片超宽、超高问题
  7. mysql查询去年本月的数据_MySQL查询本周、上周、本月、上个月份数据的sql代码...
  8. Golang——Json的序列化和反序列化
  9. python静态变量_python静态变量
  10. SAS数据挖掘实战篇【五】
  11. 重访 list comprehension
  12. 文件上传进度条 c 语言,cgi 上传文件(c 语言) 进度条显示
  13. 锐捷路由器如何配置虚拟服务器,锐捷路由器配置命令完美宝典
  14. 1M = 1048576 字节 1G = 1073741824 字节 1T = 1099511627776 字节
  15. 教你如何有效防止DDos攻击?
  16. 风变python基础语法_风变编程python (基础语法爬虫精进)
  17. 构造方法调用另一个构造方法
  18. Fortran语法汇总(下)(持续更新中)
  19. 在next js中添加google analytics功能
  20. Asp.Net 上传大文件专题(4)--利用ajax技术显示上传进度

热门文章

  1. Revit2020以及Revit2019安装以及激活配置教程
  2. 《30天自制操作系统》day1
  3. 邮储银行修改快捷支付绑定手机号
  4. 《A diagonal quasi-Newton updating method for unconstrained optimization》文献算法实现
  5. matlab自动驾驶工具箱,MATLAB,Simulink. -  Automated Driving System Toolbox, 自動駕駛系統工具箱-鈦思科技...
  6. EDMA SEED 例程
  7. java毕业设计学生请假管理系统Mybatis+系统+数据库+调试部署
  8. html让下拉框自动选择,html下拉框设置连接 html怎么设置下拉列表必须选择
  9. ISTQB- TA大纲
  10. Django项目提供xlsx数据下载接口