最大数字9,数据不算大,5次循环就行:var k,k1,k2,k3,k4,k5:Integer;ListBox1.Items.Clear; ListBox1.Items.Add('1..9任取5个数之和等于30组合如下:'); For k1:= 1 To 9 do For k2:= k1+1 To 9 do For k3:= k2+1 To 9 do For k4:= k3+1 To 9 do For k5:= k4+1 To 9 do If (k1 + k2 + k3 + k4 + k5) = 30 Then begin ListBox1.Items.Add(intTostr(k1) +' '+ intTostr(k2) +' '+ intTostr(k3) +' '+ intTostr(k4)+' '+ intTostr(k5)); inc(k); end; ListBox1.Items.Add('共 '+intTostr(k)+' 个组合');
k,k1,k2,k3,k4,k5:Integer;ListBox1.Items.Clear;
ListBox1.Items.Add('1..9任取5个数之和等于30组合如下:');
For k1:= 1 To 9 do
For k2:= k1+1 To 9 do
For k3:= k2+1 To 9 do
For k4:= k3+1 To 9 do
For k5:= k4+1 To 9 do
If (k1 + k2 + k3 + k4 + k5) = 30 Then
begin
ListBox1.Items.Add(intTostr(k1) +' '+ intTostr(k2) +' '+ intTostr(k3) +' '+ intTostr(k4)+' '+ intTostr(k5));
inc(k);
end;
ListBox1.Items.Add('共 '+intTostr(k)+' 个组合');