首页 > 电脑/网络 >软件
2017-11-16 00:00:00 2017-11-17 23:59:59 http://h.chanjet.com/activity/hkj/xlaw/xlaw.html http://yyk.iask.sina.com.cn/pic/fimg/3991231702_800.jpg 2018-03-26 00:00:00 2018-04-25 23:59:59

用汇编语言编写N!

练习:计算N!程序实验 1.实验内容 编程计算N!(8 >=N >=0)的值。要求将计算N!编为递归子程序。(用mov ah,01h int 21h进行自由输入) 结果转化为10进制用mov ah,02h int 21h输出 2.编程指导 由阶乘的递归定义得知: N!=1当N=0时 N!=N*(N-1)!当N>0时 为了求得N!的值必须递归调用(N-1)!的子程序,但每次调用的参数都是不同的。第一次以N为参数,因为要求得N!,必须要先求出(N-l)!,所以第二次调用时是以(N-1)为参数。同样为了求得(N-1)!,必须先求出(N-2)!,.因此第三次调用是以(N-2)为参数,依次类推,直到参数为0时止。此时,将每一步调用的结果相乘就是最终的N!值。设计递归子程序时,必须保证每次对它的调用都不会破坏以前调用时所用的参数和中间结果,因此,在这样的子程序刚开始一般都要对现场进行进栈保护。另外,递归的结束条件也是相当重要的,选择不好,很容易造成死锁,而不能从递归子程序中返回出来。在该例中0!=1,因此,判断入口参数是否为0就是这个递归子程序递归的结束条件。 哪位大虾会做帮个忙啊~需要用上CALL以及RET指令 [展开]

废*** 2006-05-24 21:38:47 举报

标签: C 相乘

其他回答

50分钟前 广告
查看详情

类似问题换一批

相关知识 换一批

excel我现在做了一个...

说明: 1、假如入库表品名在A列,A2:A13已输入品名,A14:A2...

什么录音软件好?

这样的软件很多的。 ARWizard就可以。下载地址 录音软件ARWi...

请教专家:如何彻底杀Ba...

很简单,你那个浏览器的安装文件里面就有病毒。重新下载一个该浏览器,然后...

热度TOP 查看更多

大家都关注换一批

提问

热点搜索更多

举报

举报原因(必选):

取消 确定举报
3a7f7956b2984ca88f5d5c19c0fe4715