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

举报
一个处女座的程序猿 发表于 2021/04/01 00:14:58 2021/04/01
【摘要】 数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、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代码实现


  
  1. import time
  2. # recursive method
  3. def rec_fib(n):
  4. if n <= 1:
  5. return n
  6. else:
  7. return rec_fib(n-1) + rec_fib(n-2)
  8. time_cost = 0
  9. for _ in range(100):
  10. # time cost of cursive method
  11. t1 = time.time()
  12. t = rec_fib(38)
  13. t2 = time.time()
  14. time_cost += (t2-t1)
  15. print('结果:%s, 平均运行时间:%s'%(t, time_cost/100))

2、Java代码实现


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

3、go语言代码实现


  
  1. // rec_fib
  2. package main
  3. import (
  4. "fmt"
  5. "time"
  6. )
  7. // 函数返回第n个斐波那契数
  8. func rec_fib(num int) int {
  9. if num <= 1 {
  10. return num
  11. } else {
  12. return rec_fib(num-1) + rec_fib(num-2)
  13. }
  14. }
  15. func main() {
  16. var time_cost float64
  17. for i := 0; i < 100; i++ {
  18. t1 := time.Now()
  19. n := 38
  20. rec_fib(n)
  21. t2 := time.Now()
  22. time_cost += t2.Sub(t1).Seconds()
  23. }
  24. fmt.Printf("Average cost time: %f.\n", time_cost/100)
  25. }

 

 

 

 

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

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

 

 

 

 

 

 

 

 

 

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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