- 46
- 0
- 约8.95千字
- 约 13页
- 2018-12-22 发布于浙江
- 举报
PAGE \* MERGEFORMAT1
设计题目
编写计算N!的程序(数值N由键盘输入,结果在屏幕上输出。N的范围为0-65535,即刚好能被一个16位寄存器容纳)。
开发目的
由于当N值较大时(N10),N的阶乘计算很繁琐并且计算容易出错。所以可以编写计算N!的程序,利用计算机强大的计算能力计算N!。这不仅能节省繁琐计算的时间,而且得到的N!的积比起手工算的要准确。
设计方案
N的阶乘为1*2*3……(N-1)*N,N的范围为(0000H—FFFFH),N!以字为单位存在一个或几个定义的数据段中。
若已算到(n-1)!,假如它占4个字的空间,接下来它乘以n的原理,如图1所示。
图1 (n-1)!* n的原理
因此计算N!的算法可以这样编写,当前n!的值为被乘数,内容存在str2中,单位为字,n+1的值为乘数,存在str1中,单位也为字。被乘数从str2首地址中内容开始与乘数相乘,得到32位的积,它的低16位覆盖掉当前被乘数所在存储空间的内容。接着str2下一个字的内容与乘数相乘,也得到32位的积,前一个积的高16位与现在积的低16位相加,它们的和覆盖掉当前被乘数所在存储空间的内容,若它们的和有进位,把进位加到现在积的高16位。直到把str2中内容乘完。然后乘数增1,循环上面的内容。直到执行完(N-1)!*N
输入的N为4位16进制数
您可能关注的文档
最近下载
- 新22G02 钢筋混凝土结构构造建筑图集.docx VIP
- 智能制造产教融合实训基地项目可行性研究报告.docx
- 一种利用沼气制取氢气的方法.pdf VIP
- CECS443-2016 泡沫玻璃板薄抹灰外墙外保温工程技术规程--.pdf VIP
- CN119684044A 含硝酸根复合肥制备方法 (贵州西洋实业有限公司).docx VIP
- 2026 年石油化工企业设计防火标准(GB 50160-2025,附防火间距表).docx VIP
- 贵州西洋实业有限公司大坡磷石膏渣库(一库区)回采工程项目环评报告.docx VIP
- 贵州西洋实业有限公司50万吨_年智能配方肥项目环境影响报告.docx VIP
- 装配式混凝土住宅预制构件设计指引(预制混凝土楼梯).pdf VIP
- 建筑电气工程施工质量验收规范(GB50303-2025修订版,附操作指南).docx VIP
原创力文档

文档评论(0)