数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略
数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、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)(n ≥ 3,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
斐波那契数列代码实现
1、python代码实现
import time# recursive method
def rec_fib(n):if n <= 1:return nelse:return rec_fib(n-1) + rec_fib(n-2)time_cost = 0
for _ in range(100):# time cost of cursive methodt1 = 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;elsereturn rec_fib(n-1) + rec_fib(n-2);}}
3、go语言代码实现
// rec_fib
package mainimport ("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 float64for i := 0; i < 100; i++ {t1 := time.Now()n := 38rec_fib(n)t2 := time.Now()time_cost += t2.Sub(t1).Seconds()}fmt.Printf("Average cost time: %f.\n", time_cost/100)
}
exe程序应用(斐波纳契时钟设计)
斐波那契时钟,以斐波那契数列显示时间。以颜色方块来显示小时和分钟。
数学编程:经典数学编程案例之斐波那契:斐波那契数列的简介、代码实现、exe程序应用(斐波纳契时钟设计)之详细攻略相关推荐
- Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)最强详细攻略
Py之cv2:cv2(OpenCV,opencv-python)库的简介.安装.使用方法(常见函数.图像基本运算等)最强详细攻略 目录 cv2(OpenCV,opencv-python)库的简介 1. ...
- Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略
Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介.使用方法.经典案例之详细攻略 目录 *args和**kwargs(设计不同数量的参数函数)的简介 1 ...
- AIGC:ChatGPT(一个里程碑式的对话聊天机器人)的简介(意义/功能/核心技术等)、使用方法(七类任务)、案例应用(提问基础性/事实性/逻辑性/创造性/开放性的问题以及编程相关)之详细攻略
AIGC:ChatGPT(一个里程碑式的对话聊天机器人)的简介(意义/功能/核心技术等).使用方法(七类任务).案例应用(提问基础性/事实性/逻辑性/创造性/开放性的问题以及编程相关)之详细攻略 导读 ...
- Python:Python语言的简介(语言特点/pyc介绍/Python版本语言兼容问题(python2 VS Python3))、安装、学习路线(数据分析/机器学习/网页爬等编程案例分析)之详细攻略
Python:Python语言的简介(语言特点/pyc介绍/Python版本语言兼容问题(python2 VS Python3)).安装.学习路线(数据分析/机器学习/网页爬等编程案例分析)之详细攻略 ...
- Java:计算机编程语言Java的简介、安装(编程环境/工具)、学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略
Java:计算机编程语言Java的简介.安装(编程环境/工具).学习路线(如何学习Java以及几十项代码编程案例分析)之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编 ...
- Python语言的简介(语言特点/pyc介绍/Python版本语言兼容问题(python2 VS Python3))、安装、学习路线(数据分析/机器学习/网页爬等编程案例分析)之详细攻略
目录 Python语言的简介 1.Python的应用领域 2.Python语言特点.对比其它语言 2.1.Python语言特点 2.2.Python语言对比其它语言 3.Python版本语言兼容问题( ...
- AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)
AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用).常用算法.经典案例之详细攻略(建议收藏) 目录 NLP是什么? 1.NLP前置技术解析 2.python中NLP技术相关库 3.NLP案例 ...
- AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)daiding
AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用).常用算法.经典案例之详细攻略(建议收藏) 目录 NLP是什么? 1.NLP前置技术解析 2.python中NLP技术相关库 3.NLP案例 ...
- Computer:少儿编程—每个人都应该学习编程,它能教你如何思考—编程入门的简介(编程语言的特点种类开发工具对比人类语言)、编程应用、编程意义之详细攻略
Computer:少儿编程-每个人都应该学习编程,它能教你如何思考-编程入门的简介(编程语言的特点&种类&开发工具&对比人类语言).编程应用.编程意义之详细攻略 导读:乔布斯说 ...
最新文章
- Docker源码分析(二):Docker Client创建与命令执行
- hadoop namenode启动不了_Hadoop框架:HDFS高可用环境配置
- linux uboot启动流程分析,uboot启动流程分析
- 评测通知 | 2022年全国知识图谱与语义计算大会评测任务发布
- [转载] 解析Java的JNI编程中的对象引用与内存泄漏问题
- redis内存知识点
- 物体检测算法:R-CNN,SSD,YOLO 动手学深度学习v2 pytorch
- Springboot+vue项目旅游管理系统
- Java编程练习题3
- PS如何做文字扫描效果(用于较淡的扫描件)
- excel两列数据对比找不同_Excel跨工作簿数据符合条件项、提取、批量复制、对比...
- 宏基d260linux系统,千呼万唤始出来 宏碁D260新本仅售2499
- 蒙特卡洛算法简单理解与demo
- P3942 将军令 [贪心]
- 简谈Oracle体系结构
- android高仿输入法,仿ios输入法
- java 填充字符串_Java字符串右补齐——String.format
- 解决google打开以后跳转到hao123
- io多路复用的原理和实现_IO多路复用机制详解
- 维克森林大学计算机科学,W 同学_维克森林大学_计算机_录取成功案例分享