Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Рекурсивная процедура печати всех перестановок из n символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание файлов http://www.cyberforum.ru/cpp-beginners/thread60994.html
Помогите пожалйста!!! А) Создать файл, содержащий сведения о личной коллекции книголюба. Структура записи: автор, название, год издания, местоположение ( номер шкафа) Б) написать программу,...
C++ операции сдвига помогите со сдвигом требуется сделать в цикле сдвиг нуля в такой последовательности. подскажите как сделать? 11111110 11111101 11111011 11110111 11101111 11011111 10111111 http://www.cyberforum.ru/cpp-beginners/thread60986.html
C++ Вопрос по циклам
Условие: Вводятся натуральное число n, целые числа а1, ..., an. Вычислить сумму: а1 + а2(2)+ ... + an(n) без хранения последовательности значений (не используя массивы данных) *** в...
Посмотрите контрольную.... C++
на носу сдача контрольной и мне надо сделать программки небольшие на С++. Помогите мне пожалуйста с ними. 1. Объявите 2 структуры с элементами целого типа: очередь dmer, вектор а_vec и список...
C++ Перевод из строки в число http://www.cyberforum.ru/cpp-beginners/thread60954.html
Снова я =) Работаю над калькулятором. С функцией ввода разобрался. Значит есть строка ввода. рабочая. заполняет массив buf . Потом запускаеться функция scan_buf , она должна считать число ( пока...
C++ atal error C1010: unexpected end of file while looking for precompiled header directive. Как убрать эту ошибку? подробнее

Показать сообщение отдельно
ООП
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 13
04.11.2009, 01:00
Факториал все равно может понадобиться: n! - это число всех возможных вариантов. функция fac у меня как раз его и возвращает.

Янчик, у меня несколько шуточный пример (зато он работает и над ним не надо думать долго) для 6 чисел - хорошо, для 7 - уже плохо. Можно более оптимизированно сделать, чем просто ставить туда рандомные значения.

То, что я пометил в комментарии, что можно удалить, лучьше не удалять , но если все же удалишь, то нужно исправить строку в функции next с if(pos > 2) next(lst, --pos); на if(pos > 1) next(lst, --pos); а то один какой-то вариант не досчитает.

Добавлено через 2 минуты
а если не удалять, то, наверное, будет работать чуть быстрее
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru