文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python/R语言如何分别实现斐波那契数列

2023-06-29 15:56

关注

这篇文章主要为大家展示了“Python/R语言如何分别实现斐波那契数列”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python/R语言如何分别实现斐波那契数列”这篇文章吧。

1、年龄计算

有 5 个人坐在一起,问第五个⼈人多少岁?他说比第 4 个人大 2 岁。问第 4 个 人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多 大?

这个问题简化之后便是求一个等比数列的第 5 项是多少!

1.1 图解问题

Python/R语言如何分别实现斐波那契数列

根据数学思维即可得出该数列为 1 组等差数列:

an=2(n−1)+10

既然问题已经提取到这儿了,那接下来就只剩如何用代码实现了:

1.2 代码解决

1.2.1 Python实现代码

def age():    #互动界面——输入查询的第几个    n = int(input("请问你需要第几个人年龄:"))    no_1 = 10    if n<0:        print("请输入大于0的数值!!!")    else:        #主要计算数列        no_n = (n-1)*2+no_1    return n,no_nprint("第{}个人的年龄是:{}岁。".format(*age()))

Python/R语言如何分别实现斐波那契数列

1.2.1 R语言实现代码

caixiang <- function(){  one_age <-as.integer(readline('请输入第一个人的年龄:'))  n <- as.integer(readline("请输入查询的第几个人:"))  n_age <<- one_age + 2*(n-1)  return(n_age)}test_1 <- function(){  caixiang()  cat("查询的年龄为:",n_age)   }test_1()

Python/R语言如何分别实现斐波那契数列

1.3 实验小结

这个实验的代码部分并不难,仅需要输入数学公式即可。

代码部分均使用函数的形式进行包装方便理解;函数内部采用互动的方式,便于拓展使用。

2、斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多&middot;斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、&hellip;&hellip;

在数学上,斐波那契数列以如下被以递推的方法定义:

Python/R语言如何分别实现斐波那契数列

现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。在数学中更是应用广泛,各种推理推论在这就不展开了,毕竟还是以代码生成斐波那契数列为主。

Python/R语言如何分别实现斐波那契数列

2.1 图解问题

Python/R语言如何分别实现斐波那契数列

根据数列的通项式可得出如图的加法;显然这是种向下的循环加法。则定以for循环对该数列每一个值的单独输出。

2.2 代码实现

2.2.1 Python代码实现

def fib(n):    a,b = 1,1    # 循环打印    for i in range(n):        print(a,end = " ")        temp = a        a = b         b = temp + bnum = int(input("请输入需要打印的斐波那数列的数据个数(从 1 开始):"))fib(num)

Python/R语言如何分别实现斐波那契数列

2.2.2 R语言代码实现

fib <- function(n){  n <-  as.integer(    readline("请输入需要打印的斐波那数列的数据个数(从 1 开始):"))  a = b = 1  for (i in 1:n) {    print(a,end = " ")    temp <- a    a <- b    b <- a + temp  }}test_2 <- function(){  cat("斐波那契数列为:")  fib(n) }test_2()

Python/R语言如何分别实现斐波那契数列

2.3 实验小结

在图解之后,这个数列的输出已经不再困难,均是使用 for 循环加上 temp 指针的方式。这里不展开介绍指针的移动规则,如有需要留言就可。然而在每次循环时将得出的值进行输出就能不被覆盖。

代码部分均使用函数的形式进行包装方便理解;函数内部采用互动的方式,便于拓展使用。

以上是“Python/R语言如何分别实现斐波那契数列”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯