Câu hỏi

26/04/2013 21:32
Viết chương trình tính giai thừa của số n<100 bất kỳ . làm thế nào nhĩ ? giúp tui zới?
Viết chương trình tính giai thừa của số n<100 bất kỳ . làm thế nào nhĩ ? giúp tui zới?
vnconnection
26/04/2013 21:32
Danh sách câu trả lời (1)

uses crt;
var
gt: array[1..100]of longint;
n,i,m:byte;
F:TEXT;
{=====================}
procedure nhanso(n:byte);
var i,j:byte;
begin
for i:=1 to 100 do
begin
if i=1 then gt[1]:=gt[1]*n
else gt:=gt*n+gt[i-1]div 100000;
gt[i-1]:=gt[i-1] mod 100000;
{if gt<>0 then
writeln(f,i,' > ',gt);}
end;
end;
{-------------}
procedure xulyfile;
var s:string;i:byte;
begin
reset(f);
read(f,s);
for i:=1 to length(s) do if s=' ' then s:='0';
close(f);
rewrite(f);
writeln(f,s);
close(f);
end;
{====================}
BEGIN
gt[1]:=1;
assign(f,'giaithua.txt');
rewrite(f);
write('nhap n ');readln(n);
for i:=1 to n do nhanso(i);
for i:=100 downto 1 do if (gt<>0)and(i>m)the n m:=i;
{buoc tren la kiem tra cac so gt xem ngang nao tu tren xuong la khac 0}
for i:=m downto 1 do write(f,gt:5);
close(f);
xulyfile;
end.
var
gt: array[1..100]of longint;
n,i,m:byte;
F:TEXT;
{=====================}
procedure nhanso(n:byte);
var i,j:byte;
begin
for i:=1 to 100 do
begin
if i=1 then gt[1]:=gt[1]*n
else gt:=gt*n+gt[i-1]div 100000;
gt[i-1]:=gt[i-1] mod 100000;
{if gt<>0 then
writeln(f,i,' > ',gt);}
end;
end;
{-------------}
procedure xulyfile;
var s:string;i:byte;
begin
reset(f);
read(f,s);
for i:=1 to length(s) do if s=' ' then s:='0';
close(f);
rewrite(f);
writeln(f,s);
close(f);
end;
{====================}
BEGIN
gt[1]:=1;
assign(f,'giaithua.txt');
rewrite(f);
write('nhap n ');readln(n);
for i:=1 to n do nhanso(i);
for i:=100 downto 1 do if (gt<>0)and(i>m)the n m:=i;
{buoc tren la kiem tra cac so gt xem ngang nao tu tren xuong la khac 0}
for i:=m downto 1 do write(f,gt:5);
close(f);
xulyfile;
end.
Trả lời câu hỏi
Câu hỏi lĩnh vực Lập trình
Rao vặt Siêu Vip