IPB
ЛогинПароль:

> Нахождение всех возможных строк
сообщение
Сообщение #1


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Привет всем.

Подскажите пожалуйста алгоритм нахождения всех возможных строк из заданной.
Например, дана строка 123456, варианты могут быть любой длины, которая <=6. Если можно, куском кода..

Искал по форуму, но нашел только теоретическую часть.

Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


А там с повторениями генерируется?

Просто у меня задание, нужно найти количество способов, которыми можно из цифр 1 2 3 4 5 6 получить число K (в сумме, в смысле). Я немного дополнил код volvo:

var
f:textfile;
n,i2,i,k,h,j,sc:integer;
a:array[1..100] of byte;
begin
assignfile(f,'input.txt');
reset(f);
read(f,k);
closefile(f);
fillchar(a, sizeof(a), 0);
n:=6;
sc:=0;
for i:=1 to n do a[i]:=i;
repeat
if (a[1]=k)or(a[1]+a[2]=k)or(a[1]+a[2]+a[3]=k)or(a[1]+a[2]+a[3]+a[4]=k)or(a[1]+a[2]
+a[3]+a[4]+a[5]=k)
or(a[1]+a[2]+a[3]+a[4]+a[5]+a[6]=k) then inc(sc);
i:=n;
while a[i-1]>a[i] do dec(i);
j:=i-1;
h:=a[j];
while a[i+1]>h do inc(i);
a[j]:=a[i]; a[i]:=h;
i:=j+1; k:=n;
while i<k do begin
h:=a[i]; a[i]:=a[k]; a[k]:=h;
inc(i); dec(k)
end
until j=0;


Переменная sc - собственно, счётчик способов. Только на k=4 он вместо 8 выдаёт невероятную сумму..

Сообщение отредактировано: Unconnected -


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 22:53
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name