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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Неправильный синтаксис? http://www.cyberforum.ru/cpp-beginners/thread1062763.html
Товарищи форумчане помогите пожалуйста разобраться, изучать С++, начал недавно, возникла проблема связанная с синтаксисом на картинке, ругается на "{,}" - неправильный синтаксис и на ";" - недопустимый символ. Подскажите пожалуйста в чем может быть проблема? может что версия 2010 - что там какие то операторы другие - само задание
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; class Matrix { подробнее

Показать сообщение отдельно
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
04.01.2014, 11:21     Разложение числа на слагаемые
Дано целое число 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 разных слагаемых, пока не получим желаемую сумму. Затем суммировать, комбинируя в парах, элементы первой и второй половины. Если повторений нет, то решение найдено. Если повторения есть, то всё сначала.
Согласен, что это тупой алгоритм … Но ничего другого пока в голову не пришло. Может подскажете как более рационально подобрать такие слагаемые?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru