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

C++ задача - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти, какое значение встречается в данном массиве наибольшее число раз http://www.cyberforum.ru/cpp-beginners/thread13358.html
я ток что в универ поступил)) раньше с си++ ничего общего не имел)) и попал в очень сильную группу по программированию.. учительница очень пожилая и сней работать очень тяжело)) мне на лабораторной...
C++ Зачем создавать новый проект Зачем создавать проект, если можно компилировать сам *.cpp с кодом? Что хранится в файлах проекта? Отличаются ли структуры проектов в разных компиляторах или проект созданный в одном так-же будет... http://www.cyberforum.ru/cpp-beginners/thread13352.html
Как к файлам в папке обратиться? C++
Всем привет! Такая проблема у меня. Сначала преамбула. Есть видеокамера, она снимает "неважнокакое" явление. Она подключена к компьютеру. При остановке работы камеры, она выдает мне ...
C++ Рисовать в С++ можно?
Недавно начал изучать С++, с помощью книжки "для чайников". Использую компилятор Dev c++ Есть опыт программирования на QBASIC. Вобщем всё нормально, но хотелось бы хоть немного "порисовать"....
C++ Вывести все точные квадраты натуральных чисел, не превосходящие данного числа N http://www.cyberforum.ru/cpp-beginners/thread13286.html
Народ, помогите пожалуйста!. Вот задача: Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N. Вот что я написал: #include <stdio.h> int main(void) { int n, k=0;...
C++ Определить, сколько элементов массива делятся на 3 без остатка У меня задание Сколько элементов данного массива делятся на 3 без остатка ? Я хотел бы запустить попробовать , но возникает вопрос КАК на C++Builder 6 или Visual C++ 4.0 ее запустить и... подробнее

Показать сообщение отдельно
ytrewq
30.01.2009, 18:11
По поводу оптимальности
Объявляем такой меп:
map <int, pair <int, int> > m;

m.clear();

for(int i = 1; i * i <= n; ++i)
for(int j = i; j * j + i * i <= n; ++j)
m[i * i + j * j] = make_pair(i, j);

for(int i = 1; i * i <= n; ++i)
for(int j = i; j * j + i * i <= n; ++j){
pair <int, int> p = m[n - i * i - j * j];
if (p.first > 0)
cout << i << " " << j << " " << p.first << " " << p.second;
}
}


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