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 这是运行结果
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