
21.04.2015, 14:16
|
 |
Активный
|
|
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
|
|
Нашёл на просторах
Код:
const
Coins: array[0..2] of Integer = (1,5,7);
procedure Razmen(Sum, StartingCoinIndex: Integer; s: string);
begin
if Sum = 0 then
Writeln(S)
else
while (Coins[StartingCoinIndex] <= Sum) and (StartingCoinIndex<=High(Coins)) do begin
Razmen(Sum - Coins[StartingCoinIndex], StartingCoinIndex, s + IntToStr(Coins[StartingCoinIndex]) + ' ');
Inc(StartingCoinIndex);
end;
end;
...
Begin
Razmen(24, 0, '');
Тупо всё варианты тоже перебирает, без учета глубины вложения.
__________________
Програмистами не рождаются, ими становятся!
|