powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск любых сочетаний из К чисел
25 сообщений из 206, страница 8 из 9
Поиск любых сочетаний из К чисел
    #39738026
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovAleksandr SharahovGennadiy Usov,

допустим, у меня есть магическая функция, которая может найти все нужные вам сочетания.

У вас есть алгоритм, который будет ее использовать?Конечно есть: 21690219 или 21693196 .

Для доски 997х997 имеется 2^249 сочетаний.Возьмите доску поменьше, убедитесь в том, что вы никогда не сможете дождаться перебора даже 2^64 сочетаний. Зачем вам алгоритм, который требует триллионы лет для завершения?
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738041
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BarloneGennadiy UsovКонечно есть: 21690219 или 21693196 .

Для доски 997х997 имеется 2^249 сочетаний.Возьмите доску поменьше, убедитесь в том, что вы никогда не сможете дождаться перебора даже 2^64 сочетаний. Зачем вам алгоритм, который требует триллионы лет для завершения?Есть формула, а есть реализация этой формулы на компьютере.

Это две разные вещи!
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738116
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ранее рассматривались "линейные" сочетания для одномерного массива чисел.

А если рассмотреть сочетания на плоскости для двумерного массива чисел.

То есть, необходимо найти сочетания для чисел из массива N на М.
Каждое число из массива чисел может принимать значение либо 1, либо 2.

Конечно, можно составить ещё один массив из NxM чисел, а затем провести соответствие между этим массивом и масcивом P[N][M].
Однако интереснее иметь сочетания для двумерного массива.

Тогда имеем код для варианта сочетаний двумерного массива чисел:
Код: javascript
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.
						
function main {						
	var N1=13;					
	var N2=13;					
	var P = new Array(N1+2);					
	for (var i = 0; i < =N1 + 1; i++) { MR5[i] = new Array(N2+1);}					
	for(var i = 1; i <= N1; i++) {					
		for(var j = 1; j <= N2; j++) {				
			P[i][j]=1;			
		}				
	}					
	var M=2;					
	while(SOCHETNxM(N1, N2, P, M)) {					
		for(var i = 1; i <= K; i++) print(P[i]);				
	}					
}						
function SOCHETNxM(K1, K2, P, M)  {						
	for(i1 = 1; i1 <=K1; i1++) {					
		for(i2 = 1; i2 <=K2; i2++) {				
			if (P[i1] [i2] >0) {			
				P[i1][i2]=P[i1][i2]+1;		
				if (P[i1][i2] != (M + 1)) break; 		
				P[i1] [i2]= 1;		
			}			
		}				
	}					
	return i1 <= K1;					
}	

Аналогично можно будет определять сочетания для R-мерного массива чисел.

И аналогично можно будет в этих массивах чисел искать сочетания не для всех чисел.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738336
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ещё интересная задача.

Необходимо найти сочетания N чисел, которые принимают значения либо 1, либо 2.
При этом, количество "двоек" в сочетаниях не должно превышать некоторого предельного значения PR.

Попробуем составить код для данной задачи:
Код: javascript
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.
							
function main {							
	var N1=13;						
	var P = new Array(N1+2);						
	for(var i = 1; i <= N1; i++) P[i]=1;						
	P[0]=0;						
							
	var PR=(N-1)/4;						
							
	var M1=2;						
	while(SOCHET3(N1, P, M1, PR)) {						
		for(var i = 1; i <= K; i++) print(P[i]);					
	}						
}							
							
function SOCHETM(K, P, M, PR)  {							
	for(i1 = 1; i1 <=K; i1++) {						
		if (P[i1] >0) {					
			P[i1]=P[i1]+1;				
			P[0]=P[0]+1;				
			if (P[i1] != (M + 1) || P[0] <=PR) break; 				// Выход из цикла если P[i1] != M+1
			if (P[i1] == (M + 1)) {				
				P[0]=P[0]-1;			
				P[i1] = 1;			
			}				
		}					
	}						
	return i1 <= K;						
}	
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738553
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В другом форуме ту же проблему обсуждают.
Дали ссылку на алгоритм https://habr.com/post/248493/

Дублирую сюда. Может чем поможет.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738680
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TВ другом форуме ту же проблему обсуждают.
Дали ссылку на алгоритм https://habr.com/post/248493/
Дублирую сюда. Может чем поможет.Спасибо за информацию!

Но, по-моему, несколько сложно.
Ведь у нас очень неплохо получилось: 21699386 или 21690515 .

Меня сейчас больше интересуют усложнения сочетаний: сочетания с ограничениями, сочетания чисел, принимающих М значений, сочетания на плоскости.
Может быть ещё что-то появится.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738745
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВ другом форуме ту же проблему обсуждают.
Дали ссылку на алгоритм https://habr.com/post/248493/

Дублирую сюда. Может чем поможет.

Нерекурсивный алгоритм по той ссылке, скорее всего, по всем параметрам проиграет рекурсивному ))
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738762
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovDima TВ другом форуме ту же проблему обсуждают.
Дали ссылку на алгоритм https://habr.com/post/248493/

Дублирую сюда. Может чем поможет.

Нерекурсивный алгоритм по той ссылке, скорее всего, по всем параметрам проиграет рекурсивному ))
Возможно. Алгоритм интересный, но упирается в изъятие элементов массива, что тормоз. Может я его не допонял, читаю исходник, пытаюсь в синтаксисе VB разобраться. Наверно лучше там упомянутую книгу качнуть.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738765
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovНерекурсивный алгоритм по той ссылке, скорее всего, по всем параметрам проиграет рекурсивному ))
У меня еще есть идея нерекурсивного алгоритма с деревом. Основано на идее что все комбинации по N элементов можно получить имея все комбинации по K и M, где K+M=N.
Например для N=15 берем 7+8, где 7 = 3+4, 8 = 4+4, 3 = 2+1, 4 = 2+2.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738778
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TAleksandr SharahovНерекурсивный алгоритм по той ссылке, скорее всего, по всем параметрам проиграет рекурсивному ))
У меня еще есть идея нерекурсивного алгоритма с деревом. Основано на идее что все комбинации по N элементов можно получить имея все комбинации по K и M, где K+M=N.
Например для N=15 берем 7+8, где 7 = 3+4, 8 = 4+4, 3 = 2+1, 4 = 2+2.Что-то похожее на разделение в 21702893 ?
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39738797
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TAleksandr SharahovНерекурсивный алгоритм по той ссылке, скорее всего, по всем параметрам проиграет рекурсивному ))
У меня еще есть идея нерекурсивного алгоритма с деревом. Основано на идее что все комбинации по N элементов можно получить имея все комбинации по K и M, где K+M=N.
Например для N=15 берем 7+8, где 7 = 3+4, 8 = 4+4, 3 = 2+1, 4 = 2+2.

тогда будет проблемой, как подменять элементы в сгенерированных раскладах
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39739562
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovDima Tпропущено...

У меня еще есть идея нерекурсивного алгоритма с деревом. Основано на идее что все комбинации по N элементов можно получить имея все комбинации по K и M, где K+M=N.
Например для N=15 берем 7+8, где 7 = 3+4, 8 = 4+4, 3 = 2+1, 4 = 2+2.

тогда будет проблемой, как подменять элементы в сгенерированных раскладах

Сделал заготовку, лучше ее показать чтобы понятнее было, а то потом после тюнинга код тяжело читать будет.
Пример кода слияния двух последовательностей комбинаций для N = 2: 01 10
Код: 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.
// Последовательности для слияния
PermutationBy2 first = new PermutationBy2(), second = new PermutationBy2();
int[] first_arr = new int[2], second_arr = new int[2];
// Порядок слияния
var union = new Union(first_arr.Length, second_arr.Length);
// Массив под очередное значение результата
var result = new int[first_arr.Length + second_arr.Length];

// Перебор элементов первой последовательности
first.Reset();
while(first.Next(ref first_arr)) { 
	// Перебор всех элементов второй последоватильности
	second.Reset();
	while(second.Next(ref second_arr)) { 
		// Перебор всех порядков слияния
		union.Reset();
		while(union.Next()) {
			int first_pos = 0, second_pos = 0;
			// Слияние согласно union
			for(int i = 0; i < result.Length; i++) {
				if(union.IsFirst(i)) {
					result[i] = first_arr[first_pos];
					first_pos++;
				} else {
					result[i] = second_arr[second_pos] + first_arr.Length;
					second_pos++;
				}
			}
			result.Print(); // Вывод строки результата
		}
	}
}


код классов
Код: 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.
	// Последовательность перестановок по 2
	sealed class PermutationBy2{
		static int[,] data = {{0, 1}, {1, 0}};
		int pos;

		// Инициализация 
		public void Reset() {
			pos = 0;
		}

		// Следующая комбинация в массив arr. false если все кончились
		public bool Next(ref Int32[] arr) {
			if(pos > 1) return false;
			arr[0] = data[pos, 0];
			arr[1] = data[pos, 1];
			pos++;
			return true;
		}
	}



	// Последовательность порядков слияния. Комбинации типа 0011, 0101, 0110, 1001, 1010, 1100
	sealed class Union {
		bool[] pos; // текущий порядок
		int first; // Размер первой последовательности
		bool need_init;

		public Union(int first, int second) {
			pos = new bool[first + second];
			this.first = first;
		}

		// Сброс в начальное состояние
		public void Reset() {
			need_init = true;
		}

		// Следующая комбинация. false если ее нет
		public bool Next() {
			if(need_init) {
				for(int i = 0; i < pos.Length; i++) pos[i] = (i < first);
				need_init = false;
				return true;
			}

			bool stop = true;
			int pos1 = -1, cnt = -1;
			for(int i = 0; i < pos.Length; i++) {
				if(pos[i]) {
					if(pos1 == -1) pos1 = i;
					cnt++;
				} else {
					if(pos1 != -1) {
						pos[i] = true;
						for(int j = 0; j < i; j++) pos[j] = (j < cnt);
						stop = false;
						break;
					}
				}
			}
			return !stop;
		}

		// Проверка что элемент n относится к первой последовательности
		public bool IsFirst(int n) {
			return pos[n];
		}

		public void Print() {
			pos.Print();
		}
	}


Результат
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
0 1 2 3
0 2 1 3
2 0 1 3
0 2 3 1
2 0 3 1
2 3 0 1
0 1 3 2
0 3 1 2
3 0 1 2
0 3 2 1
3 0 2 1
3 2 0 1
1 0 2 3
1 2 0 3
2 1 0 3
1 2 3 0
2 1 3 0
2 3 1 0
1 0 3 2
1 3 0 2
3 1 0 2
1 3 2 0
3 1 2 0
3 2 1 0

Оптимизации пока никакой не делал, чтоб читаемость не рушить. Как минимум просится предварительный перегон в массивы second и union.
Единственный минус что массив с очередным результатом каждый раз полностью заполняется, но это относительно небольшой тормоз.

Суть задумки что внутри каждого объекта PermutationBy2 может быть два других объекта, т.е. дерево.
В итоге будет класс Permutation(int N) с генератором последовательности комбинаций N по N.
Примерно так
Код: c#
1.
2.
3.
Permutation p = new Permutation(N);
int[] arr = new int[N];
while(p.Next(ref arr)) ... обработка arr
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39739629
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

вопрос в том, будет ли процедура Union.Next достаточно быстрой, т.к. все упирается в ее скорость
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39739762
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovDima T,

вопрос в том, будет ли процедура Union.Next достаточно быстрой, т.к. все упирается в ее скорость
Если внутри Union все загнать в массив, то будет быстро.

В общем случае для Union(K, M) потребуется (K+M)! / (K!*M!) массивов bool[K+M]
Например для Union(10,10) потребуется массив 184756 массивов bool[20].

Union(K, M) это все варианты разместить K единиц в K+M элементах.
Для случая (2,2) получается 6:
Код: plaintext
0011, 0101, 0110, 1001, 1010, 1100

И самое главное что я тут вижу - этот алгоритм параллелится. Просто разбить Union на части.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39739823
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Ну значит будет с чем сравнить: в лучших алгоритмах генерации перестановок
на переход к следующей тоже требуется не слишком много тактов процессора.

Проблемы запараллелить генерацию перестановок, в принципе, нет.
Это можно провернуть почти с любым алгоритмом.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39739973
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TДля случая (2,2) получается 6:
Код: plaintext
0011, 0101, 0110, 1001, 1010, 1100
А как же следующие перестановки:
Код: plaintext
0001, 0100, 0010, 0001, 1000, 1101, 
и т.д., где 1 или 3 единички?
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39739980
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TAleksandr SharahovНерекурсивный алгоритм по той ссылке, скорее всего, по всем параметрам проиграет рекурсивному ))
У меня еще есть идея нерекурсивного алгоритма с деревом. Основано на идее что все комбинации по N элементов можно получить имея все комбинации по K и M, где K+M=N.
Например для N=15 берем 7+8, где 7 = 3+4, 8 = 4+4, 3 = 2+1, 4 = 2+2.В сообщении 21704344 рассматривался вопрос

"Сочетания из 200 чисел можно "собрать" из "суммы" сочетаний:
20 чисел + 30 чисел + 23 числа + 27 чисел + 17 чисел + 33 числа + 19 чисел + 31 число."

Далее можно ещё делить, пока не придем к наименьшим составляющим:

Например: 33= 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+1, или формируется дерево, где элементы расположены попарно и постепенно уменьшаются.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740042
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovDima TДля случая (2,2) получается 6:
Код: plaintext
0011, 0101, 0110, 1001, 1010, 1100
А как же следующие перестановки:
Код: plaintext
0001, 0100, 0010, 0001, 1000, 1101, 
и т.д., где 1 или 3 единички?
Это не все решение, а его часть. Надо склеить два массива в данном примере по два элемента. На место 0 подставляем из первого, на место 1 - из второго. Если будет три 0 или 1, то получим ошибку выхода за пределы массива, т.к. в каждом по два элемента.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740050
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovDima Tпропущено...

У меня еще есть идея нерекурсивного алгоритма с деревом. Основано на идее что все комбинации по N элементов можно получить имея все комбинации по K и M, где K+M=N.
Например для N=15 берем 7+8, где 7 = 3+4, 8 = 4+4, 3 = 2+1, 4 = 2+2.В сообщении 21704344 рассматривался вопрос

"Сочетания из 200 чисел можно "собрать" из "суммы" сочетаний:
20 чисел + 30 чисел + 23 числа + 27 чисел + 17 чисел + 33 числа + 19 чисел + 31 число."

Далее можно ещё делить, пока не придем к наименьшим составляющим:

Например: 33= 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+1, или формируется дерево, где элементы расположены попарно и постепенно уменьшаются.
Извини, но тут я просто тебя не понимаю, я не понимаю как работает твой алгоритм. Мой пост был по теме топика "сочетания из К чисел".
Я под этим понимаю что например так выглядит сочетание из 4-х по 4
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
0 1 2 3
0 2 1 3
2 0 1 3
0 2 3 1
2 0 3 1
2 3 0 1
0 1 3 2
0 3 1 2
3 0 1 2
0 3 2 1
3 0 2 1
3 2 0 1
1 0 2 3
1 2 0 3
2 1 0 3
1 2 3 0
2 1 3 0
2 3 1 0
1 0 3 2
1 3 0 2
3 1 0 2
1 3 2 0
3 1 2 0
3 2 1 0

У тебя же как-то по-другому, и я не смог понять как и почему.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740062
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TGennadiy UsovА как же следующие перестановки:
Код: plaintext
0001, 0100, 0010, 0001, 1000, 1101, 
и т.д., где 1 или 3 единички?
Это не все решение, а его часть. Надо склеить два массива в данном примере по два элемента. На место 0 подставляем из первого, на место 1 - из второго. Если будет три 0 или 1, то получим ошибку выхода за пределы массива, т.к. в каждом по два элемента.Так и у меня склейка: склеиваю несколько массивов, которые в сумме дают длину N.

При этом существует правило:
- к каждому сочетанию первого массива "приклеиваются" все сочетания второго массива;
- к каждому сочетанию первого и второго массивов "приклеиваются" все сочетания третьего массива;
- к каждому сочетанию первого, второго и треьего массивов "приклеиваются" все сочетания четвертого массива;
и т.д.
Dima TGennadiy UsovВ сообщении 21704344 рассматривался вопрос
"Сочетания из 200 чисел можно "собрать" из "суммы" сочетаний:
20 чисел + 30 чисел + 23 числа + 27 чисел + 17 чисел + 33 числа + 19 чисел + 31 число."
Далее можно ещё делить, пока не придем к наименьшим составляющим:
Например: 33= 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+1, или формируется дерево, где элементы расположены попарно и постепенно уменьшаются.Извини, но тут я просто тебя не понимаю, я не понимаю как работает твой алгоритм. Мой пост был по теме топика "сочетания из К чисел".
Я под этим понимаю что например так выглядит сочетание из 4-х по 4
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
0 1 2 3
0 2 1 3
2 0 1 3
0 2 3 1
2 0 3 1
2 3 0 1
0 1 3 2
0 3 1 2
3 0 1 2
0 3 2 1
3 0 2 1
3 2 0 1
1 0 2 3
1 2 0 3
2 1 0 3
1 2 3 0
2 1 3 0
2 3 1 0
1 0 3 2
1 3 0 2
3 1 0 2
1 3 2 0
3 1 2 0
3 2 1 0
У тебя же как-то по-другому, и я не смог понять как и почему.Это не мой алгоритм, а наш совместный:
21690391 или 21699386 .
Я так понимаю сочетания из 4-х по 4
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
0	0	0	0
0	0	0	1
0	0	1	0
0	0	1	1
0	1	0	0
0	1	0	1
0	1	1	0
0	1	1	1
1	0	0	0
1	0	0	1
1	0	1	0
1	0	1	1
1	1	0	0
1	1	0	1
1	1	1	0
1	1	1	1
И чем отличается у Вас первое и последнее сочетания по смыслу?
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740109
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovЭто не мой алгоритм, а наш совместный:
21690391 или 21699386 .
Нет. Там я не вникал в алгоритм. Я просто указал как правильнее делать его части.

Gennadiy Usov
Я так понимаю сочетания из 4-х по 4
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
0	0	0	0
0	0	0	1
0	0	1	0
0	0	1	1
0	1	0	0
0	1	0	1
0	1	1	0
0	1	1	1
1	0	0	0
1	0	0	1
1	0	1	0
1	0	1	1
1	1	0	0
1	1	0	1
1	1	1	0
1	1	1	1
И чем отличается у Вас первое и последнее сочетания по смыслу?
Поздравляю, ты изобрел двоичную систему счисления. Проблема только в том что ее 100 лет назад изобрели.

Умножь первое число на 8, второе на 4, третье на 2, четвертое как есть. Сложи что получилось и получишь 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15. Это типа перевод из двоичной в десятичную.

Я не понимаю зачем тебе надо изобретать этот древний велосипед?
Нет, сам велосипед я прекрасно понимаю, но не понимаю что дальше ты хочешь с ним делать?

PS Можно на "ты"
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740111
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты не можешь описать задачу, которую решаешь - то ты ее не решишь, ни сам, ни с чужой помощью, т.к. не помогут потому что банально не поймут в чем помочь надо.
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740112
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TGennadiy Usov
Я так понимаю сочетания из 4-х по 4
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
0	0	0	0
0	0	0	1
0	0	1	0
0	0	1	1
0	1	0	0
0	1	0	1
0	1	1	0
0	1	1	1
1	0	0	0
1	0	0	1
1	0	1	0
1	0	1	1
1	1	0	0
1	1	0	1
1	1	1	0
1	1	1	1
И чем отличается у Вас первое и последнее сочетания по смыслу?
Поздравляю, ты изобрел двоичную систему счисления. Проблема только в том что ее 100 лет назад изобрели.

Умножь первое число на 8, второе на 4, третье на 2, четвертое как есть. Сложи что получилось и получишь 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15. Это типа перевод из двоичной в десятичную.

Я не понимаю зачем тебе надо изобретать этот древний велосипед?
Нет, сам велосипед я прекрасно понимаю, но не понимаю что дальше ты хочешь с ним делать?Это ты увидел двоичную систему, а я увидел номера чисел, которые участвуют в сочетаниях: 1 в третьей колонке - значит третье число участвует в сочетании.
Кстати, это описано в 21281836 .

А ты так и не ответил на вопрос:
И чем отличается у тебя первое и последнее сочетания в твоих сочетаниях по смыслу ?

Мне кажется, что ты рассматриваешь не сочетания, а перестановки чисел. А эта задача уже не по теме топика.
Из вики: "сочетанием из n по k называется набор k элементов, выбранных из данного множества, содержащего n различных элементов".
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740121
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovА ты так и не ответил на вопрос:
И чем отличается у тебя первое и последнее сочетания в твоих сочетаниях по смыслу ?
Я не могу ответить на этот вопрос, не вижу в нем смысла!

Мои сочетания просты и понятны. Если применительно к ферзям, то число означает позицию в строке, а его положение - номер строки.
Т.е. 3,2,0,1 это такая доска
0123ФФФФ
...
Рейтинг: 0 / 0
Поиск любых сочетаний из К чисел
    #39740122
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь ты объясни что значит твое 1101. Простыми словами.
...
Рейтинг: 0 / 0
25 сообщений из 206, страница 8 из 9
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск любых сочетаний из К чисел
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]