Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/235: Рейтинг темы: голосов - 235, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 19.09.2008
Сообщений: 10

Перебор возможных комбинаций символов

23.09.2008, 21:19. Показов 50742. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Чет мой чайник совсем не варит! Помогите сделать следущее:
Вывести все возможные комбинации слов. Есть:

C
1
2
char ch_table[] = "abc"; //таблица символов
char word[] = "aaa"; //само слово - начальный вариант
Логика мне ясна, а вот с реализацией туго!

Число возможных вариантов: 3*3*3 = 27

Code
1
2
3
4
5
6
7
8
9
10
->->->->->
aaa aab aac
aba abb abc
aca acb acc
baa bab bac
bba bbb bbc
bca bcb bcc
caa cab cac
cba cbb cbc
cca ccb ccc
Я думаю начать с конца слова, с постепенным смещением влево. Но вот запутался в циклах...

Допустим меняю последний символ:
aaa aab aac

Затем смещаюсь влево:
aba

Опять последний:
aba abb abc

И у меня ступор... Исходник пустил под скальпель, пытаясь что-то сделать, так что не просите показать

А где есть исходники подобных алгоритмов?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.09.2008, 21:19
Ответы с готовыми решениями:

Перебор всез возможных комбинаций слов из слова их N-символов
Привет! Есть слово, допустим, "box" нужно перебрать все возможные варианты слов, которые возможно составить из этого набора символов....

Перебор всех комбинаций 3-хзначного ключа
Приветствую дорогие форумчане! Помогите реализовать небольшую программку. Есть 3 вложенных цикла, которые реализую перебор всех...

Перебор и вывод всех возможных сочетаний
Итак,здравствуйте форумчане. Привела меня к вам интересная задачка. Вводится слово,заранее не известно количество букв необходимо...

51
эволюционирую потихоньку
 Аватар для TanT
469 / 466 / 92
Регистрация: 30.06.2009
Сообщений: 1,401
28.10.2009, 18:44
Студворк — интернет-сервис помощи студентам
куда вы все спешите, до зачётки ещё как до луны на полусогнутых?

в общем всё просто. тебе надо перебрать все варианты с разным количеством букв в слове и прогнать такие слова через прогу из поста 14.
пример для слова из 3х букв.
варианты слов с разным количеством букв a,b,c:
3а, 0b, 0c - три буквы а и понулям всех осальных
0а, 3b, 0c
0а, 0b, 3c
1а, 2b, 0c
1а, 0b, 2c
1а, 1b, 1c
2а, 0b, 1c
2а, 1b, 0c


вроде все, осталось придумать как грамотно сгенерить такие комбинации и усё
0
0 / 0 / 0
Регистрация: 28.10.2009
Сообщений: 4
28.10.2009, 18:58
Люди пожалуста помогите с этим... есть ли программа какая нибудь для считывания комбинаций???

Добавлено через 2 минуты
ну меня хватило только на 47 комбинаций=)

Добавлено через 59 секунд
Это можешь объяснить где этот 14 пост я тут даже часа не пробыл=))
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
28.10.2009, 19:24
Цитата Сообщение от GrinGo Посмотреть сообщение
Это можешь объяснить где этот 14 пост я тут даже часа не пробыл=))
пост № 14
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
28.10.2009, 20:22
Вроде работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
char ch_table[] = "abc"; //таблица символов
int Max_Char = 3; //максимальное количество комбинаций букв
 
for (int i = 0; i <pow(Max_Char,3); i++)
{
  cout<<ch_table[(i/int(pow(Max_Char,2)))%Max_Char];
  cout<<ch_table[(i/int(pow(Max_Char,1)))%Max_Char];
  cout<<ch_table[i%Max_Char]<<"\n";
}
getch();
return 0;
}
Сделать двумя циклами все же было бы универсальнее...

Добавлено через 38 минут
Вот, так она будет более универсальной
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
char ch_table[] = "abc"; //таблица символов
int Max_Char = 3; // количество выводимых символов
int TableSize = sizeof(ch_table)-1;
 
for (int j = 0; j<pow(TableSize,Max_Char); j++)
{
    for (int i = Max_Char-1; i>=0; i--)
       cout<<ch_table[(j/int(pow(TableSize,i)))%TableSize];
    cout<<"\n";
}
getch();
return 0;
}
0
Заказ софта
 Аватар для Search..
343 / 188 / 21
Регистрация: 26.05.2009
Сообщений: 863
28.10.2009, 20:58
Тремя циклами лучше, чем двумя. Если код меньше - это еще не значит, что он быстрее.
Возражения писать на: vitaliy844@gmail.com
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.10.2009, 21:42
manfeese,
Не работает, ни тот ни другой.
Но вообще, конечно, задумка мощная. Чуток доработать только.
Где алгоритм брал?

Вот вывод:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
aaa
[B]aab[/B]
aac
[B]aba[/B]
abb
abc
aca
acb
acc
baa
bab
bac
bba
bbb
bbc
bca
bcb
bcc
caa
cab
cac
cba
cbb
cbc
cca
ccb
ccc
aaa
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
28.10.2009, 22:40
kravam, a че неправильного? В комбинаторике есть два понятия сочетиний: с повторениями и без. Так вот эта программа выводит все сочитания с повторениями, т.е. по формуле A^n.
А 28 строчка у меня не появляется, наверно это твоя ошибка, когда писал?!


Цитата Сообщение от Search.. Посмотреть сообщение
Тремя циклами лучше
для данного примера, согласен! А если нужно вывести не 3 буквы подряд а 5, т.е. не "aaa" a "aaaaa", то в таком случае придется использовать 5 циклов? А если больше? А здесь в двух циклах выводишь сколько нужно!

З.Ы. Алгоритм сам придумал!
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.10.2009, 23:07
Ты бы сказал хоть- вот с повторениями. Дорабатывайте сами.
А 28-я строка выводится в обоих случаях. Не знаю, почему.

Добавлено через 13 минут
И, кстати насчёт повторений, это малёхо не то.
То есть термины "без повторений" применим к множествам, где есть повторяющиеся элементы.
Например, aab.

Тогда число сочетаний с повторениями будет 3!
А без повторений 3.
Но это применимо к одному конкретно взятому множеству, где элементы переставляются всяко (aab).

У тебя вообще даже называться по другому должно. У тебя всякий раз множество, ОТЛИЧНОЕ ПО СОСТАВУ от начального. (aaa, aab, aac и так далее)
Извини, если что не так.
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
28.10.2009, 23:12
А разве мой код не выполняет данное требование???
Цитата Сообщение от SiNn3R Посмотреть сообщение
Code
1
2
3
4
5
6
7
8
9
aaa aab aac
aba abb abc
aca acb acc
baa bab bac
bba bbb bbc
bca bcb bcc
caa cab cac
cba cbb cbc
cca ccb ccc
А повторениями считаються, допустим, следующие элементы:
Code
1
2
3
aab aba baa
или
cba cab abc acb bca bac
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.10.2009, 23:29
Мы с каким множеством работаем?
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
28.10.2009, 23:44
Уточню.
Есть 4 варианта переборов элементов K из множества N:
1. Выбор K без возвращения, с учётом порядка;
2. Выбор K без возвращения и без учёта порядка;
3. Выбор K с возвращением и с учётом порядка;
4. Выбор K с возвращением и без учётом порядка.

Я попытался реализовать 3 вариант.

Цитата Сообщение от kravam Посмотреть сообщение
Мы с каким множеством работаем?
а Вы что имели ввиду?
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
28.10.2009, 23:44
Мы работаем с множеством abc
И в нём может быть только шесть сочетаний из трёх по трём с повторениями.
Ты их перечислил.

Остальное от лукавого.
Ты хоть наизнанку вывернись, но в этом множестве только один элемент a
Cледовательно, сочетание, в котором присутствует более одного элемента a, это железно не одно из сочетаний элементов множества abc

Ну, вот с уточнениями может быть. Не знаю.
То есть да, с возвращениями. Вытаскиваем шар из корзины и кладём обратно в корзину.
Кстати, да. И нам нужен для нашей задачи четвёртый пункт, ведь так?
То есть без учёта порядка. То есть aab и aba cчитаются одним вариантом. И aba, следовательно, рассмотрению не подлежит.
Правильно?
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
28.10.2009, 23:55
Да, согласен! Как раз над ним сейчас сижу!
Написать программу для конкретного примера не составляет труда, а вот хочеться написать универсальную!

Предлагаю уже в этой теме выкинуть все 4 варианта и закрыть эту проблему!
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
29.10.2009, 21:35
Изменяем немного предыдущую программу:
Вариант №3: Выбор K элементов из множества N с возвращением и с учётом порядка

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
const char ch_table[] = "abc";         // Таблица символов
const K = 3;                             // Количество выводимых символов
const N = sizeof(ch_table)-1;      // Размер таблицы символов
char s[K]; s[K]=NULL;                // Получаемое слово
 
int Max = int(pow(N,K));            // Максимальное значение комбинаций
 
for (int j = 0; j<Max; j++)
{
   for (int i = 0; i<K; i++)
      s[i]=ch_table[(j/int(pow(N,K-i-1)))%N];
   cout<<s<<"\n";
}
getch();
return 0;
}
Добавляем одно условие и получаем
Вариант №4: Выбор K элементов из множества N с возвращением и без учёта порядка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
const char ch_table[] = "abc";      // Таблица символов
const int K = 3;                          // Количество выводимых символов
const int N = sizeof(ch_table)-1;   // Размер таблицы символов
char s[K]; s[K]=NULL;                  // Получаемое слово
 
int Max = int(pow(N,K));               // Максимальное значение комбинаций
 
for (int j = 0; j<Max; j++)
{
   bool trip = true;
   for (int i = 0; i<K; i++)
   {
      s[i]=ch_table[(j/int(pow(N,K-i-1)))%N];
      if (s[i]<s[0]) {trip = false; break;}
   }
   if (trip)
       cout<<s<<"\n";
}
 
getch();
return 0;
}
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
29.10.2009, 23:32
Вариант четыре не канает при "abcd"

aaaa
aaab
aaac
aaad
aaba
aabb
aabc ...
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
30.10.2009, 01:48
Согласен! Он походу и в остальных случаях неправильно работал! Я не заметил одну ошибку, спасибо за подсказку. Вот правильный вариант!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
int main()
{
const char ch_table[] = "abc";           // Таблица символов
const N = sizeof(ch_table)-1;            // Размер таблицы символов
const K = 3;                                   // Количество выводимых символов
char s[K]; s[K]=NULL;                      // Получаемое слово
 
int Max = int(pow(N,K));                   // Максимальное значение комбинаций
 
for (int j = 0; j<Max; j++)
{
    bool trip = true;               
 
    s[0]=ch_table[(j/int(pow(N,K-1)))%N];
    char temp=s[0];                         
    for (int i = 1; i<K; i++)
    {
      s[i]=ch_table[(j/int(pow(N,K-i-1)))%N];
      if (s[i]<temp){trip = false; break;}  
      temp=s[i];                            
    }
   if (trip)                                
      cout<<s<<"\n";
 
}
getch();
return 0;
}
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
30.10.2009, 18:20
Добавляем еще несколько условий и получаем:

Вариант №1: Выбор K элементов из множества N без возвращения и с учётом порядка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
int main()
{
const char ch_table[] = "abc";    // Таблица символов
const N = sizeof(ch_table)-1;     // Размер таблицы символов
const K = 3;                            // Количество выводимых символов
char s[K]; s[K]=NULL;               // Получаемое слово
 
int Max = int(pow(N,K));            // Максимальное значение комбинаций
 
for (int j = 0; j<Max; j++)
{
    bool trip = false;                           
 
    s[0]=ch_table[(j/int(pow(N,K-1)))%N];
 
    for (int i = 1; i<K; i++)
    {
      s[i]=ch_table[(j/int(pow(N,K-i-1)))%N];
      for (int m = 0; m <i; m++)
         if (s[i]==s[m]) {trip = true;  break;}
      if (trip) break;
    }
   if (!trip)
      cout<<s<<"\n";
}
getch();
return 0;
}
Вариант №2: Выбор K элементов из множества N без возвращения и без учёта порядка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
int main()
{
const char ch_table[] = "abc";                   // Таблица символов
const N = sizeof(ch_table)-1;                    // Размер таблицы символов
const K = 3;                                           // Количество выводимых символов
char s[K]; s[K]=NULL;                              // Получаемое слово
 
int Max = int(pow(N,K));                           // Максимальное значение комбинаций
 
for (int j = 0; j<Max; j++)
{
    bool trip = false;
 
    s[0]=ch_table[(j/int(pow(N,K-1)))%N];
    char temp=s[0];                           
 
    for (int i = 1; i<K; i++)
    {
      s[i]=ch_table[(j/int(pow(N,K-i-1)))%N];
      for (int m = 0; m <i; m++)
         if ((s[i]<temp) || (s[i]==s[m]))
            {trip = true;   break;}
      if (trip) break;
      temp=s[i];                            
    }
   if (!trip)
      cout<<s<<"\n";
}
getch();
return 0;
}
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
30.10.2009, 19:08
Первый вариант при "abcde" и k== 3 не канает.
Отсутствует deb, bed
Повторяются aeb, aec, aed

Тестируй лучше.
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
30.10.2009, 22:27
Не пойму?!
У меня все работает на ура! Вот ссылка откуда фомулы брал Основные формулы комбинаторики
Может ты в чем-то ошибся?

вот мои результаты при "abcdef" и K=3:
Вариант1
abc
abd
abe
abf
acb
acd
ace
acf
adb
adc
ade
adf
aeb
aec
aed
aef
afb
afc
afd
afe
bac
bad
bae
baf
bca
bcd
bce
bcf
bda
bdc
bde
bdf
bea
bec
bed
bef
bfa
bfc
bfd
bfe
cab
cad
cae
caf
cba
cbd
cbe
cbf
cda
cdb
cde
cdf
cea
ceb
ced
cef
cfa
cfb
cfd
cfe
dab
dac
dae
daf
dba
dbc
dbe
dbf
dca
dcb
dce
dcf
dea
deb
dec
def
dfa
dfb
dfc
dfe
eab
eac
ead
eaf
eba
ebc
ebd
ebf
eca
ecb
ecd
ecf
eda
edb
edc
edf
efa
efb
efc
efd
fab
fac
fad
fae
fba
fbc
fbd
fbe
fca
fcb
fcd
fce
fda
fdb
fdc
fde
fea
feb
fec
fed

Вариант2
abc
abd
abe
abf
acd
ace
acf
ade
adf
aef
bcd
bce
bcf
bde
bdf
bef
cde
cdf
cef
def

Вариант3
aaa
aab
aac
aad
aae
aaf
aba
abb
abc
abd
abe
abf
aca
acb
acc
acd
ace
acf
ada
adb
adc
add
ade
adf
aea
aeb
aec
aed
aee
aef
afa
afb
afc
afd
afe
aff
baa
bab
bac
bad
bae
baf
bba
bbb
bbc
bbd
bbe
bbf
bca
bcb
bcc
bcd
bce
bcf
bda
bdb
bdc
bdd
bde
bdf
bea
beb
bec
bed
bee
bef
bfa
bfb
bfc
bfd
bfe
bff
caa
cab
cac
cad
cae
caf
cba
cbb
cbc
cbd
cbe
cbf
cca
ccb
ccc
ccd
cce
ccf
cda
cdb
cdc
cdd
cde
cdf
cea
ceb
cec
ced
cee
cef
cfa
cfb
cfc
cfd
cfe
cff
daa
dab
dac
dad
dae
daf
dba
dbb
dbc
dbd
dbe
dbf
dca
dcb
dcc
dcd
dce
dcf
dda
ddb
ddc
ddd
dde
ddf
dea
deb
dec
ded
dee
def
dfa
dfb
dfc
dfd
dfe
dff
eaa
eab
eac
ead
eae
eaf
eba
ebb
ebc
ebd
ebe
ebf
eca
ecb
ecc
ecd
ece
ecf
eda
edb
edc
edd
ede
edf
eea
eeb
eec
eed
eee
eef
efa
efb
efc
efd
efe
eff
faa
fab
fac
fad
fae
faf
fba
fbb
fbc
fbd
fbe
fbf
fca
fcb
fcc
fcd
fce
fcf
fda
fdb
fdc
fdd
fde
fdf
fea
feb
fec
fed
fee
fef
ffa
ffb
ffc
ffd
ffe
fff

Вариант4
aaa
aab
aac
aad
aae
aaf
abb
abc
abd
abe
abf
acc
acd
ace
acf
add
ade
adf
aee
aef
aff
bbb
bbc
bbd
bbe
bbf
bcc
bcd
bce
bcf
bdd
bde
bdf
bee
bef
bff
ccc
ccd
cce
ccf
cdd
cde
cdf
cee
cef
cff
ddd
dde
ddf
dee
def
dff
eee
eef
eff
fff


Код для 4-х вариантов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//==========================================================================
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
 
FILE* Comb;
 
using namespace std;
 
void Combinations(
                  bool ReturnValue,     //С возвращением(true,1), без - (false,0)
                  bool SortValue,       //С учетом порядка(false,0), без - (true,1)
                  char (Table)[],       // Множество элементов
                  int TableSize,        // Размер таблицы символов
                  int ElementIndex,     // Количество выводимых элементов
                  int CombinationIndex, // Номер выходной комбинации
                  char (&s)[])          // Получаемая комбинация)
{
 
s[ElementIndex]=NULL;
int CurrentIndex = 0;
 
int Max = int(pow(TableSize,ElementIndex));     // Максимальное значение комбинаций
 
for (int j = 0; j<Max; j++)
 {
    bool Equal = false;
 
    s[0]=Table[(j/int(pow(TableSize,ElementIndex-1)))%TableSize];
    char temp=s[0];
 
    for (int i = 1; i<ElementIndex; i++)
    {
      s[i]=Table[(j/int(pow(TableSize,ElementIndex-i-1)))%TableSize];
 
      if (SortValue)
         if (s[i]<temp){Equal = true; break;}
 
      if (!ReturnValue)
      for (int m = 0; m <i; m++)
         if (s[i]==s[m]){Equal = true; break;}
 
      if (Equal) break;
      temp=s[i];
    }
  if (!Equal) CurrentIndex++;
 
  if (CurrentIndex==CombinationIndex+1)  return;
  else  for (int i=0;i<ElementIndex;i++) s[i] = NULL;
 }
}
//==========================================================================
// Максимальное число комбинаций:
// ReturnValue  SortValue
//     0           0      без возвращения и без учета порядка
//     0           1      без возвращения и с учетом порядка
//     1           0      с возвращением и без учета порядка
//     1           1      с возвращением и с учетом порядка
//==========================================================================
 
int Max_Size(bool RetValue,bool SortValue,int N,int K)
{
  int Sum = 1,Zn = 1;
  if (RetValue && SortValue) N=N+K-1;
  if (RetValue && !SortValue) Sum = pow(N,K);
  else
  for (int i = 1; i <=K; i++)
    {
      Sum*=(N-i+1);
      if (SortValue) Zn*=i;
    }
  return Sum/Zn;
}
 
int main()
{
char ch_table[] = "abcdef";     // Таблица символов
int N = sizeof(ch_table)-1;
const int K = 3;
char word[K];               // Количество выводимых символов
bool Returned = 1;
bool Sorted = 1;
 
Comb = fopen("Вариант4.txt","w");
for (int i = 0; i < Max_Size(Returned,Sorted,N,K); i++)
{
  Combinations(Returned,Sorted,ch_table,N,K,i,word);
  fprintf(Comb, "%s\n",word);
//  cout<<word<<"\n";
}
fclose(Comb);
//getch();
return 0;
}
//==========================================================================
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
30.10.2009, 22:38
Выложи результаты для "abcde", k==3, вариант номер 3.
Это первое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2009, 22:38

Перебор возможных комбинаций из определенных символов
Например есть символы 'в', 'а', 'о', 'л'. Нужно чтобы отобразило слова сочетающие эти буквы, слова не должны превышать 6 сиволов(Например...

Перебор всех возможных комбинаций символов строки
Всем привет! Подскажите пожалуйста как осуществить перебор символов в строке, БЕЗ ПОВТОРОВ, только не в цикле а по нажатию кнопки. А то я...

Как осуществить перебор всех возможных комбинаций символов строки
типа есть 3 символа - a, b, c 3*3=27 возможных вариантов для подбора aaa bbb ccc aab abb aba и т.д.... пока ничего...

Перебор возможных комбинаций
Всем доброго времени. Имеется набор символов &quot;123456789&quot;. Нужно получить все возможные комбинации в пределах, допустим, трех символов...

Перебор возможных комбинаций
Уважаемые участники форума, был бы очень благодарен, если бы вы подсказали, как решить следующую задачу. Есть формула, к примеру: W...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru