数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略

举报
一个处女座的程序猿 发表于 2021/04/01 00:14:58 2021/04/01
2.1k+ 0 0
【摘要】 数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略       目录 斐波那契数列的简介 斐波那契数列代码实现 1、python代码实现 2、Java代码实现 3、go语言代码实现 exe程序应用(斐波纳契时钟设计)       斐波那契数列的简介          斐波那契数列(F...

数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略

目录

斐波那契数列的简介

斐波那契数列代码实现

1、python代码实现

2、Java代码实现

3、go语言代码实现

exe程序应用(斐波纳契时钟设计)


斐波那契数列的简介

         斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(≥ 3,∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

斐波那契数列代码实现

1、python代码实现


      import time
      # recursive method
      def rec_fib(n):
      if n <= 1:
      return n
      else:
      return rec_fib(n-1) + rec_fib(n-2)
      time_cost = 0
      for _ in range(100):
      # time cost of cursive method
       t1 = time.time()
       t = rec_fib(38)
       t2 = time.time()
       time_cost += (t2-t1)
      print('结果:%s, 平均运行时间:%s'%(t, time_cost/100))
  
 

2、Java代码实现


      import java.util.Date;
      public class Main {
      // 主函数
      public static void main(String[] args) {
      double time_cost = 0;
      for (int i=0; i<100; i++) {
       Date start_time = new Date(); //开始时间
      int n = 38;
       rec_fib(n);
       Date end_time1 = new Date(); // 结束时间
       Long cost_time1 = end_time1.getTime() - start_time.getTime();  // 计算时间,返回毫秒数
       time_cost += cost_time1;
       }
       System.out.println(String.format("Average cost time is %.3fs.", time_cost*1.0/1000));
       }
      // 利用递归方法计算斐波那契数列的第n项
      public static int rec_fib(int n){
      if(n == 0)
      return 0;
      if(n ==1)
      return 1;
      else
      return rec_fib(n-1) + rec_fib(n-2);
       }
      }
  
 

3、go语言代码实现


      // rec_fib
      package main
      import (
      "fmt"
      "time"
      )
      // 函数返回第n个斐波那契数
      func rec_fib(num int) int {
      if num <= 1 {
      return num
       } else {
      return rec_fib(num-1) + rec_fib(num-2)
       }
      }
      func main() {
      var time_cost float64
      for i := 0; i < 100; i++ {
       t1 := time.Now()
       n := 38
       rec_fib(n)
       t2 := time.Now()
       time_cost += t2.Sub(t1).Seconds()
       }
       fmt.Printf("Average cost time: %f.\n", time_cost/100)
      }
  
 

exe程序应用(斐波纳契时钟设计)

斐波那契时钟,以斐波那契数列显示时间。以颜色方块来显示小时和分钟。

文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:yunyaniu.blog.csdn.net/article/details/80682478

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。