关于pascal穷举法的问题,急!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:56:15
把1至9个数进行组合,成为3个3位数,使得第2个数是第1个数的2倍,第三个数是第1个数的3倍。(用for循环)
每个数字不能重复!!

暴力枚举:
Var i,j,k:integer;
Begin
For i:=1 to 9 do
For j:=1 to 9 do
For k:=1 to 9 do if (j/i=2)and(k/i=3) Then writeln(i,j,k);
End.
就这样~
个位一个k,十位一个j,百位一个i。

program meiju(input,output);
var i,j,k:integer;
begin
for i:=100 to 333 do
for j:=200 to 666 do
for k:=300 to 999 do
if (j=i*2) and (k=i*3) then writeln(i,j,k);
end.

总次数333*466*699

百,十,个位上各用一个循环就OK了