Помогите написать программу

Ответить
Abdugafor
Сообщения: 3
Зарегистрирован: 15 дек 2017, 18:42

Помогите написать программу

Сообщение Abdugafor » 15 дек 2017, 19:14

Если ты вводишь цифры программа должна напечатать все числа которые можно создать с этими цифрами. Например если вводит 1 2 3
Программа должна напечатать 123, 132, 213, 231, 312, 321
Bobojon
Сообщения: 4
Зарегистрирован: 14 дек 2017, 18:07

Re: Помогите написать программу

Сообщение Bobojon » 15 дек 2017, 19:23

Это называется перестановки.
PascalABC.NET не делаю проверку на одинаковые символы:

var S : String

procedure Generate(L, R: Integer);
begin
if L=R then WriteLn(S) else for var i := L to R do
begin Swap(S, S[L]); Generate(L+1,R); Swap (S, S[L]); end;
end

begin
S :=ReadLnString('Данные:');
WriteLn('Перестановки:'); Generate(1, S.Length);
end
Ответить

Вернуться в «PascalABC.NET»