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

Алгоритмы. Поиск верного решения задачи. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Куда двигаться дальше?? http://www.cyberforum.ru/cpp-beginners/thread339469.html
Доброй ночи всем! Вот с грехом пополам основы С++ приблизительно прошел. Простые консольные приложения могу делать. А дальше что?? На одной консоли ведь не выедешь. Пытался понять, в какую сторону...
C++ Ресурсы. Как достать и скопировать файл. У меня такой вопрос как из ресурса достать кокой то файл и скопировать его в какую нибудь директорию? http://www.cyberforum.ru/cpp-beginners/thread339462.html
C++ Как сделать и включить в проект иконку приложения
Здравствуйте! В win 7 многие приложения имеют иконки, которые не теряют качество при масштабировании (векторные скорее всего). Как сделать такую для своего приложения (в какой программе),...
компилятор нашёл ошибку C++
Ввёл всё как в книге, но компилятор нашёл ошибку. Помогите пжалуйста. И ещё, в спец. теме, пытался понять - как же быть с русскими буквами в среде? Читпл, но ничего не понял. Если нек сложно -...
C++ Как скрыть какую либо програму с панели пуск? http://www.cyberforum.ru/cpp-beginners/thread339433.html
Как скрыть какую либо програму с панели пуск? Пример: вот у меня на пуске висит игра, как её скрыть зная HWND?
C++ getline в string как сделать getline в string. ну чтобы считывало в string до нажатия enter с пробелами подробнее

Показать сообщение отдельно
Olga_
842 / 184 / 16
Регистрация: 01.08.2011
Сообщений: 502
08.08.2011, 14:55
Diagon, Ваш прежний алгоритм из O(n^3) легко преобразуется в O(120)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
int sum[28] = {0};
int main()
{
        for (int a = 0; a <= 9; ++a)
        {
                for (int b = 0; b < a; ++b)
                {
                        for (int c = 0; c < b; ++c)
                        {
                             sum[a + b + c] += 6;
                        }
                        sum[2*a + b] += 3;
                        sum[a + 2*b] += 3;
                }
                ++sum[3*a];
        }
        unsigned count = 0;
        for (int i = 0; i < 28; ++i)
                count += sum[i] * sum[i];
        std::cout << count;
        return 0;
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.