汇编语言实现斐波那契数列(迭代法)

  • 迭代法实现斐波那契数列(c++)
  • 汇编版本

迭代法实现斐波那契数列(c++)

斐波那契数列的计算通常是通过递归解决的,不过如果将递归转化为迭代,可以有效提高算法效率,代码如下:

//fibonacci_iteration
int fib(int n)
{int f=1,g=0;while(0<n--){g+=f;//初始化:fib(-1),fib(0)f=g-f;}return g;
}   

注意,此时算法的复杂度为O(n) ,优于二分递归的O(2^n) .

汇编版本

这里我采用的是vs2015搭配MASM32,以及Kip Irvine的链接库,代码如下:

include Irvine32.inc
.data
emp BYTE " ",0
.code
main PROCmov eax,0;gmov ebx,1;fmov ecx,25   ;输出前25项L:add eax,ebx;g+=fmov edx,eaxsub edx,ebxmov ebx,edx;f=g-fcall WriteDec      ;以32位无符号数的形式输出eaxmov edx,OFFSET empcall WriteString   ;输出空格(即edx对应的字符串)loop Lexitmain ENDPEND main

其中的WriteDec以及WriteString都是Irvine32库内的函数,功能如注释所示

copyright:swy

汇编语言输出斐波那契数列相关推荐

  1. risc-v汇编语言输出斐波那契数列前6位数(仅供参考,不一定正确)

    .data array_A: .word 3,5,7,9,11 .text la x8,array_A #x8为数组A首地址,x9=&A[i] add x9,x8,x0 #x9=&A[ ...

  2. Python:递归输出斐波那契数列

    今天学习Python的时候做一道练习题,题目是这样的: 题目 导入 问题 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数 ...

  3. 打印水仙花数oracle,javaScript实现回文数、水仙花数判断和输出斐波那契数列

    javaScript实现回文数.水仙花数判断和输出斐波那契数列 发布时间:2020-07-22 01:15:37 来源:51CTO 阅读:422 作者:Cynthia_xie // 判断一个数是不是回 ...

  4. 输出斐波那契数列不大于1000的序列

    7-4 输出斐波那契数列不大于1000的序列 输出斐波那契数列不大于1000的序列. 输入格式: 本题目无输入 输出格式: 在一行输出斐波那契数列不大于1000的序列,并用逗号隔开. 输入样例: 本题 ...

  5. Python案例:格式化输出斐波拉契数列

    文章目录 一.提出任务 二.运行效果 三.实现步骤 1.定义fib(n)函数 2.采用format()函数实现格式化输出 3.采用repr()与rjust()函数实现格式化输出 4.运行程序,查看效果 ...

  6. 输出斐波那契数列的第n项

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 1. 递归 public class Solution {public int ...

  7. C++输出斐波那契数列的几种方法

    定义: 斐波那契数列指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 这个数列从第三项开始,每一项都等于前两项之和. 以输出斐波那 ...

  8. JavaScript 实现:输出斐波那契数列

    问渠那得清如许,为有源头活水来. 想要保持自己的技术活力,最有效的手段就是通过不断地输入来提供足够的养分.我们也不必刻意追求高深的或者新鲜的知识点,通过对一个基础问题的全方位多维度解析,同样也会收获不 ...

  9. 斐波那契数列——输出斐波那契数列的第n项

    **斐波那契数列有两种形式 1.从0开始 0 1 1 2 3 5  8........ 2.从1开始 1 1 2 3 5 8 13......... 第一二项固定,后面一项等于前面两项的和. *要输出 ...

  10. 使用递归函数输出斐波那契数列

    使用递归函数输出斐波那契数列(Fibonacci sequence),即1 1 2 3 5 8-. #include <stdio.h> #include <stdlib.h> ...

最新文章

  1. Kettle数据采集 部署安装
  2. 大数据统计分析毕业设计_基于大数据分析的电子信息类专业毕业设计成绩影响因素研究...
  3. C++版 - 剑指offer面试题38:数字在已排序数组中出现的次数
  4. LWCOPY为前端代码提供复制功能的插件
  5. codesys 串口通讯实例_CODESYS线上直播,解读控制器开发那些事儿(二)
  6. 推荐一款接口 API 设计神器!
  7. Spark + Hadoop,基于WIFI探针的大数据分析系统
  8. 阶段3 2.Spring_03.Spring的 IOC 和 DI_8 spring中bean的细节之生命周期
  9. 热工检测系统设计知识点总结
  10. p1957口算题c语言,洛谷P1957口算练习题题解
  11. Maven创建一个Servlet项目(五)
  12. (转)台式机华硕主板双显卡切换,怎么舒服怎么来
  13. 计算机科学给稿费多少,科学网—千字千元的稿费标准高吗? - 籍利平的博文
  14. 人牙髓干细胞,多能分化,不只用于牙齿组织再生研究
  15. html乡愁代码,Homesick 乡愁
  16. MySQL MGR 单主模式下单点故障时的节点角色切换规则
  17. linux 查询挂载信息,linux 查询挂载信息
  18. 齐博x1教程:快速增加下拉菜单
  19. 小功率直流电机上并电容的作用
  20. IT经理世界封面报道:淘宝潜规则

热门文章

  1. 计算机科学与导论知识点总结,计算机科学导论复习资料整理.doc
  2. cloudera-scm-service报错server已死,但pid文件仍存问题解决
  3. windows socket 网络编程
  4. unity引用类型序列化_Unity中的序列化与反序列化
  5. 定义m是第一个数,之后的每个数都是前一个的平方根,一共有n个数,计算总和。
  6. 欧姆龙cp1h指令讲解_欧姆龙plc指令讲解.ppt
  7. 普元EOS UTP自动化测试 关闭工作流
  8. 通信原理-通信系统的组成
  9. 元宇宙NFT商城系统|艺术数字藏品平台源码部署
  10. 详细讲解32F103/MS51单片机串口ISP程序下载的方法和操作步骤