计算大数阶乘--Pascal版
2012-05-30 17:16
274 查看
先给出代码:
说明:
开发环境: Free Pascal 2.4 (是一个dos程序,感觉和Turbo Pascal类似)
下载页面: http://down.tech.sina.com.cn/page/46658.html
Free Pascal 设置:
1. Dos 窗口代码页设为437(美国),否则会乱码。
2. Options->Compiler mode 设为 Turbo Pascal compatible
学习资料:
PASCAL语言培训教程,下载页面 http://www.05sun.com/downinfo/5433.html
下载,安装Free Pascal. 学习、编写和调试这个程序总共约花了2个小时。
曾经遇到的问题:
1. 变量r定义为integer导致数据溢出
2. 参数递减的for误用了to 关键字,改成 downto 后,一切正常。
program fac; var i,j,n,len: integer; rad,c,r: longint; buff: array[1..16000] of integer; num: string[5]; begin writeln('calculate n!'); write('n=?'); read(n); rad:=10000; len:=1; buff[1]:=1; for i:=1 to n do begin c:=0; for j:= 1 to len do begin r := buff[j] * i +c; buff[j] := r mod rad; c := r div rad; end; if c>0 then begin len:=len+1; buff[len]:=c; end; end; write('n!=',buff[len]); for i:=len-1 downto 1 do begin str(buff[i],num); if length(num)<4 then write(copy('0000',1,4-length(num))); write(buff[i]); end; END.
说明:
开发环境: Free Pascal 2.4 (是一个dos程序,感觉和Turbo Pascal类似)
下载页面: http://down.tech.sina.com.cn/page/46658.html
Free Pascal 设置:
1. Dos 窗口代码页设为437(美国),否则会乱码。
2. Options->Compiler mode 设为 Turbo Pascal compatible
学习资料:
PASCAL语言培训教程,下载页面 http://www.05sun.com/downinfo/5433.html
下载,安装Free Pascal. 学习、编写和调试这个程序总共约花了2个小时。
曾经遇到的问题:
1. 变量r定义为integer导致数据溢出
2. 参数递减的for误用了to 关键字,改成 downto 后,一切正常。
相关文章推荐
- 9、 大数,高精度计算---大数阶乘
- 精度计算-大数阶乘-ACM常用算法
- 阶乘计算之大数阶乘与快速取模阶乘计算
- 一种计算大数阶乘的算法
- 精度计算——大数阶乘
- 利用BigInteger计算Fibonacci数列,及解决大数阶乘
- 大数阶乘计算
- 计算一个大数n的阶乘的位数宽度(十进制)(log i累加法 )
- 计算一个大数n的阶乘的位数宽度(十进制)转载
- 计算大数的阶乘(ZZ)
- WV.23-大数阶乘算法3-近似计算之一
- 大数阶乘的计算(二)
- 使用链表进行大数阶乘的计算
- asp利用数组实现阶乘计算(大数相乘)
- 阶乘之计算从入门到精通-大数的表示
- c语言大数阶乘和计算阶乘末尾的0的个数
- WV.24-大数阶乘算法4-近似计算之二
- 大数阶乘的计算(一)
- 大数,高精度计算---大数阶乘
- 计算大数阶乘--Dos批处理版