n!在dephi中怎么写算法

designonline 2004-12-03 10:06:29
如题
...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
designonline 2004-12-04
  • 打赏
  • 举报
回复
是啦。。数字大的话怎么解决,换成float??
ICMGDCHN 2004-12-03
  • 打赏
  • 举报
回复
算法本来就这样,具体实现的话,比如DES,RSA的实现也是这个算法,只不过是把结果放在一个字符数组里保存而已.至于大数运算,我倒也挺想讨论一下的
ppayun 2004-12-03
  • 打赏
  • 举报
回复
阶乘有专门的算法,楼上的写法数字稍大就溢出了。
以前论坛中有关于阶乘算法的讨论,你找找看。
ICMGDCHN 2004-12-03
  • 打赏
  • 举报
回复
递归:
function fact(n:integer):integer;
begin
if (n=0) or (n=1) then
result:=1
else result:=n*fact(n-1);
end;

非递归:
function fact(n:integer);integer;
var
i:integer;
tmp:integer;
begin
tmp:=1;
for i:= n downto 1 do
tmp:=tmp*i;
result:=tmp;
end;

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧