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

Разложение числа на слагаемые - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Неправильный синтаксис? http://www.cyberforum.ru/cpp-beginners/thread1062763.html
Товарищи форумчане помогите пожалуйста разобраться, изучать С++, начал недавно, возникла проблема связанная с синтаксисом на картинке, ругается на "{,}" - неправильный синтаксис и на ";" -...
C++ Конструктор по умолчанию Здраститя. #include <iostream> using namespace std; class random { public: random(int b){a=b;} ~random(){} int Get(){return a;} http://www.cyberforum.ru/cpp-beginners/thread1062751.html
Глючит rand C++
В visual studio 2008 при компилировании с настройками release (F5/Ctrl+F5) все нормально, но если потом запустить полученный файл, то rand выдает одни нули, в чем может быть проблема?
C++ При отсылке на абстрактный класс не запускается программу
Здравствуйте. При отсылке на абстрактный класс не могу запустить программу. #include <iostream> using namespace std; class E_Talon { public: E_Talon();
C++ Вычислить y http://www.cyberforum.ru/cpp-beginners/thread1062722.html
Вычислить y= na+(n-1)a+…+a Понятия не имею как должно выглядеть решение. Помогите, буду очень признателен.
C++ ООП, заполнение 0-ми вместо от 0 до 10, оператор + (перегрузка) не срабатывает Не правильно работает заполнение матрицы, заполняется только 0-ми. Не срабатывает оператор + Помогите разобраться и научиться.... #include <iostream> #include <locale> using namespace std; ... подробнее

Показать сообщение отдельно
LVV
57 / 57 / 4
Регистрация: 15.02.2010
Сообщений: 249

Разложение числа на слагаемые - C++

04.01.2014, 11:21. Просмотров 302. Ответов 0
Метки (Все метки)

Дано целое число S и натуральное N (N>1). Создать массив из 2N целых чисел, так, чтобы сумма всех элементов равнялась S, но чтобы никакая сумма двух элементов из первой и второй половины массива не повторялась бы.

Например, если S=21; N=3;
То искомый массив M[6]={1, 2, 9, 0, 3, 6};

сумма всех элементов равна 21
1+2+9+0+3+6 = 21

попарные суммы (1,4,7,2,5,8,9,12,15) не повторяются:
1+0=1; 1+3=4; 1+6=7; 2+0=2; 2+3=5; 2+6=8; 9+0=9; 9+3=12; 9+6=15;

Если «в лоб»… то можно через random, подобрать 2N разных слагаемых, пока не получим желаемую сумму. Затем суммировать, комбинируя в парах, элементы первой и второй половины. Если повторений нет, то решение найдено. Если повторения есть, то всё сначала.
Согласен, что это тупой алгоритм … Но ничего другого пока в голову не пришло. Может подскажете как более рационально подобрать такие слагаемые?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru