主题:[求助]一道简单的题
风之落叶
[专家分:40] 发布于 2007-04-08 13:57:00
求n的阶层(n<100)
例:
5!=5×4×3×2×1
谢谢啦!
回复列表 (共25个回复)
11 楼
abcwuhang [专家分:1840] 发布于 2007-07-13 12:23:00
program jiecheng;
const max=1000;
var n,i,j,jinwei,weishu:integer;
result:array [1..max] of integer;
begin
write('Please input n:(qiu n!)');
readln(n);
fillchar(result,sizeof(result),0);
result[1]:=1;
weishu:=1;
for i:=2 to n do
begin
jinwei:=0;
for j:=1 to weishu do
begin
result[j]:=result[j]*i+jinwei;
jinwei:=result[j] div 10;
result[j]:=result[j] mod 10;
end;
while jinwei<>0 do
begin
weishu:=weishu+1;
result[weishu]:=jinwei mod 10;
jinwei:=jinwei div 10;
end;
if weishu>max then
begin
writeln('The weishu is too big!');
halt;
end;
end;
writeln(n,'!=');
for i:=weishu downto 1 do
write(result[i]);
readln;
end.
求n!.
12 楼
abcwuhang [专家分:1840] 发布于 2007-07-15 20:33:00
顶上来
13 楼
g1021117 [专家分:40] 发布于 2007-08-13 16:28:00
怎么不用或函数递归??????
14 楼
热爱§绝望 [专家分:0] 发布于 2007-08-14 15:30:00
progrsam lx;
function jc(n:integer):integer;
var
x,t:integer;
begint:=1;
for x:=2to n do
t:=t*x;
jc:=t;
end.
15 楼
热爱§绝望 [专家分:0] 发布于 2007-08-14 15:31:00
progrsam lx;
function jc(n:integer):integer;
var
x,t:integer;
begint:=1;
for x:=2to n do
t:=t*x;
jc:=t;
end.
16 楼
热爱§绝望 [专家分:0] 发布于 2007-08-14 15:35:00
progrsam lx;
function jc(n:integer):integer;
var
x,t:integer;
begint:=1;
for x:=2to n do
t:=t*x;
jc:=t;
end.
17 楼
热爱§绝望 [专家分:0] 发布于 2007-08-14 15:37:00
progrsam lx;
function jc(n:integer):integer;
var
x,t:integer;
begint:=1;
for x:=2to n do
t:=t*x;
jc:=t;
end.
18 楼
JRX [专家分:180] 发布于 2007-08-29 22:00:00
递归可以用,数组做变参
函数不可以,因为函数类型不能是数组
19 楼
万里长城 [专家分:340] 发布于 2007-09-02 19:40:00
4月提出的问题现在还在回答!!!希望我能占个地下室。
20 楼
无所不能 [专家分:270] 发布于 2007-09-07 21:40:00
[quote]建议用高精度[/quote]
根本不需要高精度,一个FOR语句就解决问题了
for i:=n downto 1 do
我来回复