用VB做10000的价乘怎么算?

来源:百度知道 编辑:UC知道 时间:2024/05/29 11:52:43
我做了,可是老是有益出?不知道哪位可以帮到我?谢谢!!!

用一个整型数组存放运算结果(被乘数),初始为1;
1到10000分别做乘数,与该数组相乘,注意从低位开始,要维持逢十进一的十进制原则,最后就可以得到10000!了。
注意:这个运算比较耗时,结果位数小于40000位,可以定义数组长度为40000即可,进行乘法次数估计在1亿次左右,要耐心等待。
下面是一个delphi程序,算10000!大概用了24秒,你可以参考:
program large_fact;
{$APPTYPE CONSOLE}
uses
SysUtils;

const
max_n = 10000;
max_m = 4;
type
arrtype = array[0..max_m*max_n] of integer;
var
i,j,n,fact_len,up_value: integer;
fact: arrtype;
tb,te: TDateTime;
begin
tb := time;
if (paramcount < 1)
then
begin writeln('Usage: large_fact <n>'); exit end;
n := strtointdef(paramstr(1), 0);
if (n < 0)
then
begin writeln(n,' < ',0); exit end;
if (n > max_n)
then
begin writeln(n,' > ',max_n); exit end;

fact_len := 1;
fact[0] := 1;

for i := 2 to n
do
begin
up_value := 0;
fo