|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Juriy Tikhomirov 2:5030/1800.16 03 Feb 2003 02:01:52 To : Ivan Merzlyakov Subject : Все варианты числовой последовательности -------------------------------------------------------------------------------- [02 Фев 03 12:16] Ivan Merzlyakov wrote to All: IM> Думал думал и решил тут спросить. IM> Имеем число. Максимальное количество цифр в числе 10. Цифры в числе не IM> повторяются. Как получить все варианты перестанвок цифр в числе? IM> Hапример: IM> 123 IM> Далее начинаем перестовлять и получаем IM> 132 IM> 312 IM> 213 IM> 321 IM> и т. д. IM> Можно конечно перебором, но может есть что-то универсальное? program zzz; uses crt; type ss = string[20]; var s:string; procedure swap(var a,b:char); var t:char; begin t:=a; a:=b; b:=t; end; procedure rek(a:ss;n:byte); var i:integer; begin if n = length(a) then writeln(a) else begin for i:=length(a) downto 1 do begin swap(a[i],a[i-1]); rek(a,i); end; end; end; var x,y:integer; s1:string; t:char; begin clrscr; write('Введите строку: '); readln(s); rek(s,1); end. Вот и все на сегодня... С вами был _/Юра Тихомиров/_. ... [ddt|grob|nirvana|nightwish|точка отсчета] [beer5030] --- Hо на сердце твоем надпись "не прислоняться"... * Origin: << Мир номер ноль / Единочество >> (2:5030/1800.16) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/45333e3d958c.html, оценка из 5, голосов 10
|