精选优质文档-倾情为你奉上一、 设计题目编写计算N!的程序(数值N由键盘输入,结果在屏幕上输出。N的范围为0-65535,即刚好能被一个16位寄存器容纳)。二、 开发目的由于当N值较大时(N10),N的阶乘计算很繁琐并且计算容易出错。所以可以编写计算N!的程序,利用计算机强大的计算能力计算N!。这不仅能节省繁琐计算的时间,而且得到的N!的积比起手工算的要准确。三、 设计方案N的阶乘为1*2*3(N-1)*N,N的范围为(0000HFFFFH),N!以字为单位存在一个或几个定义的数据段中。若已算到(n-1)!,假如它占4个字的空间,接下来它乘以n的原理,如图1所示。 图1 (n-1)!* n的原理因此计算N!的算法可以这样编写,当前n!的值为被乘数,内容存在str2中,单位为字,n+1的值为乘数,存在str1中,单位也为字。被乘数从str2首地址中内容开始与乘数相乘,得到32位的积,它的低16位覆盖掉当前被乘数所在存储空间的内容。接着str2下一个字的内容与乘数相乘,也