Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 04.11.2014
Сообщений: 11
1

Комбинаторика. Сочетания

04.11.2014, 03:03. Показов 6095. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Прошу помочь со следующей задачкой: генерация сочетания по номеру(порядок лексикографический). Толковое объяснение нашел только в Липницком, но не понял его. Если кто опишет алгоритм нахождения или целую программу-буду рад
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2014, 03:03
Ответы с готовыми решениями:

Комбинаторика. Перестановки, размещение и сочетания
Всем привет, помогите пожалуйста написать программу на С++, которая будет запрашивать n по k, где n...

Сочетания без повторений, Комбинаторика, Дискретная математика
Помогите, пожалуйста, решить данную задачу на C++ или С. Задано натуральное число n<=20 и...

Комбинаторика на С++
Нужно составить программу, или скорее функцию, которая для заданного натурального числа k выводит...

Комбинаторика
Здравствуйте все. В данный момент дпополнительно решил заняться комбинаторикой, столкнулся с...

1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
07.11.2014, 06:55 2
Лучший ответ Сообщение было отмечено Skyper как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
S(int n, int k)
{ int *A, i, p;
 A = (int *)malloc(k*sizeof(int));
 for(i=0; i<k; i++) A[i] = i;
 while(1) {
    for(i=0; i<k; i++) printf("%d ", A[i]+1);
    printf("\n");
    if (A[k-1] < n-1) A[k-1]++;
    else {
       for(p=k-1; p>0; p--)
         if (A[p] - A[p-1] > 1) break;
       if (p==0) break;
       A[p-1] ++;
       for(i=p; i<k; i++) A[i] = A[i-1] + 1; 
    }
 }
}
main()
{
 S(6,4);
}
Добавлено через 3 минуты
Цитата Сообщение от Skyper Посмотреть сообщение
только в Липницком
Липский ? Там ошибочка.
3
07.11.2014, 06:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2014, 06:55
Помогаю со студенческими работами здесь

Комбинаторика
От пользователя требуется ввести n. Результат должен быть таким:

Комбинаторика
Даны 3 строки.Вывести все возможные комбинации,учитывая и те,в которых нет какой-либо строки

Комбинаторика
Дано множество U из 7 элементов, каким числом способов в нем можно выбрать подмножества А, В, С...

Комбинаторика
Доброго всем времени суток!Помогите пожалуйста с решением такой задачи.Дана последовательность...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru