一个求1到1000数的阶乘和数 pascal!

CatSmoking 2012-03-01 03:37:42
阶乘和数就是比如: 145为1!+4!+5!,那么145就是阶乘和数。编程题目就是求1到1000内的阶乘和数.
...全文
229 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CatSmoking 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 case5166 的回复:]
引用 8 楼 catsmoking 的回复:
引用 7 楼 kiboisme 的回复:
呵呵,你举的这例子太有特殊性了,145 = 1!+4!+5!,导致5166理解错误


我也是在C区看到的。楼主也是放了鸽子了。
http://topic.csdn.net/u/20120301/12/2a9f54d0-6d2b-498e-8c97-770ffcc46a8d.html
看看我的PA……
[/Quote]
我说C区帖子里面的楼主
我看见佛 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 catsmoking 的回复:]
引用 7 楼 kiboisme 的回复:
呵呵,你举的这例子太有特殊性了,145 = 1!+4!+5!,导致5166理解错误


我也是在C区看到的。楼主也是放了鸽子了。
http://topic.csdn.net/u/20120301/12/2a9f54d0-6d2b-498e-8c97-770ffcc46a8d.html
看看我的PASCAL代码

Delphi(Pascal)……
[/Quote]你不就是LZ嘛
CatSmoking 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kiboisme 的回复:]
呵呵,你举的这例子太有特殊性了,145 = 1!+4!+5!,导致5166理解错误
[/Quote]

我也是在C区看到的。楼主也是放了鸽子了。
http://topic.csdn.net/u/20120301/12/2a9f54d0-6d2b-498e-8c97-770ffcc46a8d.html
看看我的PASCAL代码
function fib(n:Integer):Integer;
begin
if n>=1 then
result :=fib(n-1)*n
else
Result :=1;
end;

function nfib(n:Integer):Integer;
begin
if n>=10 then
Result :=nfib(n div 10)+fib(n mod 10)
else
Result :=fib(n);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
Memo1.Lines.Clear;
for i := 1 to 1000 do
if nfib(i)=i then
Memo1.Lines.Add(IntToStr(i));
end;

end.
蓝色光芒 2012-03-01
  • 打赏
  • 举报
回复
呵呵,你举的这例子太有特殊性了,145 = 1!+4!+5!,导致5166理解错误
CatSmoking 2012-03-01
  • 打赏
  • 举报
回复
思路有问题:
请看:145=1!+4!+5!

744=7!+4!+4! ?NO
我看见佛 2012-03-01
  • 打赏
  • 举报
回复
我正准备写一个呢,怎么L上就写了出来 ,,不过3 = 1*2*3才对吧
10 = 1! + 0!
蓝色光芒 2012-03-01
  • 打赏
  • 举报
回复
看到喜欢的题目就手痒...
lzg827 2012-03-01
  • 打赏
  • 举报
回复
kiboisme今天做题好生猛,赞一个!
蓝色光芒 2012-03-01
  • 打赏
  • 举报
回复

var
Datas , OutDatas : array of integer;
OutStringList : array of String; //显示使用

procedure ImulAll;
var
i , n , nCount : integer;
begin
n := 1;
SetLength(Datas , Trunc(SQRT(1000)));
nCount := 0;
for i:=0 to High(Datas) do begin
n := n * (i+1);
if n>1000 then Break;
Datas[i] := n;
inc(nCount);
end;
SetLength(Datas , nCount);
end;

procedure GetNeedInt;
Type
T32BitSet = 0..31;
T32BitSetOf = set of T32BitSet;
P32BitSetOf = ^T32BitSetOf;
var
n , Sum , nInc : integer;
i , D , k : integer;
S : String; //显示使用
begin
n := Length(Datas);
if n=0 then exit;
D := $FFFFFFFF SHR (32 - n);
for i:=1 to D do begin
Sum := 0;
nInc := 0;
S := ''; //显示使用
for k:=0 to n-1 do begin
if k in P32BitSetOf(@i)^ then begin
Sum := Sum + Datas[k];
inc(nInc);
S := S + IntToStr(k+1) + '! + '; //显示使用
end;
end;
if (nInc>=2) then begin
SetLength(OutDatas , Length(OutDatas)+1);
OutDatas[High(OutDatas)] := Sum;
SetLength(OutStringList , Length(OutStringList)+1); //显示使用
OutStringList[High(OutStringList)] := Copy(S , 1 , Length(S) - 2); //显示使用
end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i : integer;
begin
ImulAll;
GetNeedInt;
for i:=0 to High(OutDatas) do
Memo2.Lines.Add(IntToStr(OutDatas[i]) + '=' + OutStringList[i]);
end;
蓝色光芒 2012-03-01
  • 打赏
  • 举报
回复
3=1! + 2!
7=1! + 3!
8=2! + 3!
9=1! + 2! + 3!
25=1! + 4!
26=2! + 4!
27=1! + 2! + 4!
30=3! + 4!
31=1! + 3! + 4!
32=2! + 3! + 4!
33=1! + 2! + 3! + 4!
121=1! + 5!
122=2! + 5!
123=1! + 2! + 5!
126=3! + 5!
127=1! + 3! + 5!
128=2! + 3! + 5!
129=1! + 2! + 3! + 5!
144=4! + 5!
145=1! + 4! + 5!
146=2! + 4! + 5!
147=1! + 2! + 4! + 5!
150=3! + 4! + 5!
151=1! + 3! + 4! + 5!
152=2! + 3! + 4! + 5!
153=1! + 2! + 3! + 4! + 5!
721=1! + 6!
722=2! + 6!
723=1! + 2! + 6!
726=3! + 6!
727=1! + 3! + 6!
728=2! + 3! + 6!
729=1! + 2! + 3! + 6!
744=4! + 6!
745=1! + 4! + 6!
746=2! + 4! + 6!
747=1! + 2! + 4! + 6!
750=3! + 4! + 6!
751=1! + 3! + 4! + 6!
752=2! + 3! + 4! + 6!
753=1! + 2! + 3! + 4! + 6!
840=5! + 6!
841=1! + 5! + 6!
842=2! + 5! + 6!
843=1! + 2! + 5! + 6!
846=3! + 5! + 6!
847=1! + 3! + 5! + 6!
848=2! + 3! + 5! + 6!
849=1! + 2! + 3! + 5! + 6!
864=4! + 5! + 6!
865=1! + 4! + 5! + 6!
866=2! + 4! + 5! + 6!
867=1! + 2! + 4! + 5! + 6!
870=3! + 4! + 5! + 6!
871=1! + 3! + 4! + 5! + 6!
872=2! + 3! + 4! + 5! + 6!
873=1! + 2! + 3! + 4! + 5! + 6!

16,748

社区成员

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

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