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

Быстрый поиск супернатуральных чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти координаты четвертой вершины параллелограмма http://www.cyberforum.ru/cpp-beginners/thread962988.html
Привет всем. Вот задали совсем простенькую задачку: Известно, что точки с координатами (x1, y1), (x2, y2), (x3, y3) являются тремя вершинами некоторого параллелограмма. Найти координаты четвертой...
C++ Чёрный ящик или белый ящик Всем привет. Задали программу написать a + b и сумму вывести в файл, а птом протестировать либо на чёрный ящик, либо на белый ящик. Я лекции прочитал и инфу. в нете, вроде понял , а как писать не... http://www.cyberforum.ru/cpp-beginners/thread962982.html
C++ Как реализировать заполнение массива квадратами?
Я создал програму которая заполняет двумерный масив символами 35, а потом в рандомных местах создает прямоугольники символами 46, мне нужно чтобы все квадраты были связаны друг с другом линиями из...
Циклы для распечатки чисел C++
Циклы для распечатки чисел. В диалоговом режиме вводится некоторое число N (В диапазоне от 1 до 2000). Программа должна вывести числа, определенные заданием в виде нескольких колонок, выровненных по...
C++ перемешать массив http://www.cyberforum.ru/cpp-beginners/thread962963.html
Существует такой алгоритм как random_shuffle. Как сделать чтобы работал данный алгоритм в c++ windows forms?
C++ Разложение в ряд Помогите пожалуйста Функция Разложение в ряд Область сходимости подробнее

Показать сообщение отдельно
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
01.10.2013, 10:25
да в программе ya_noob, все очень просто
там рекурсивно находится число комбинаций которым может быть построено число, при этом, чтобы постоянно не спускаться вниз создается индексный массив в котором уже хранится полученное число комбинаций. За счет того, что порядок цифр определяется делением повторов не возникает.

Algoritmer
Цитата Сообщение от ya_noob Посмотреть сообщение
if ( m.find( x ) != m.end() ) res += m[ x ];
если в индексированном массиве уже есть результат для данного числа то вернуть добавить уже ранее высчитанный результат
Цитата Сообщение от ya_noob Посмотреть сообщение
m.insert( mypair( n, res % 101 ) );
добавляем в индексный массив результат для числа n[/quote]

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