计算大数阶乘--Pascal版
来源:互联网 发布:韩国历史知乎 编辑:程序博客网 时间:2024/05/21 22:01
先给出代码:
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 后,一切正常。
- 计算大数阶乘--Pascal版
- 计算大数阶乘--basic版
- 计算大数阶乘--Java版
- 计算大数阶乘--Python版
- 计算大数阶乘--Fortran版
- 大数,高精度计算---大数阶乘
- 大数,高精度计算---大数阶乘
- 计算大数阶乘--Dos批处理版
- 计算大数阶乘--VB Script 版
- 计算大数阶乘--Linux Bash版
- 计算大数阶乘
- 计算大数的阶乘
- js计算大数阶乘
- 精度计算-大数阶乘
- 计算阶乘(大数)
- 大数阶乘计算
- 大数计算阶乘和
- 大数阶乘的计算(五)
- 单精度表示13.25
- 最新NVIDIA 开普勒讲解
- 堆栈理解
- 浅析Android中的消息机制
- 2012-05-30
- 计算大数阶乘--Pascal版
- 利用递归思想解决问题
- 堆、栈及静态数据区详解
- 最新中文文本挖掘小例子及程序
- 第十五周任务3-输入输出流中的使用控制符
- 数组的声明及应用
- 计算大数阶乘--VB Script 版
- 第十五周任务二
- 100以内素数的和