num:=9
len:=4
//定义数组
function get(n,l)
for i:=0 to n do
begin
a(l) := i;
if l==1 then
begin
sum:=0
for j:=1 to len do
begin
sum:=sum+a(j)
end;
if sum==n then
//添加
end
else
get(n,l-1)
end;
end function
var
i,j, k,g,s : integer;
begin
for i := 0 to 4 do
begin
for j := 0 to 4 do
begin
for k := 0 to 4 do
begin
for g := 0 to 4 do
begin
if (i+j+k+g) = 4 then
Self.Memo1.Lines.Add(IntToStr(i)+IntToStr(j)+IntToStr(k)+IntToStr(g))
end;
end;
end;
end;
end;
0004
0013
0022
0031
0040
0103
0112
0121
0130
0202
0211
0220
0301
0310
0400
1003
1012
1021
1030
1102
1111
1120
1201
1210
1300
2002
2011
2020
2101
2110
2200
3001
3010
3100
4000
这是运行结果