温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-03-24 11:02:46 来源:亿速云 阅读:332 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“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_n
    print("第{}个人的年龄是:{}岁。".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 + b
    
    num = 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语言如何分别实现斐波那契数列”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI