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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
more1994
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 8
#1

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

13.12.2012, 00:34. Просмотров 374. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста разобраться в чем суть алгоритма, как мы переходим от элемента к елементу.Вот само задание перечислить все розбиения положительного числа n на целые положительные слагаемые. Пример (n= 4) розбиения 1 +1 +1 +1, 2 +1 +1,3 +1,4.Я не могу понять как мы переходим от і - го елемента к следующим. Вот код програми:
Код
  public void six()
        {
            for (int i = 0; i < n; i++)
            {
                mas[i] = 1;
            }
            Res(mas, ref res);
            int s = k - 1, sum;
            while (s >= 0)
            {
                while (!(s == 0 || mas[s] < mas[s - 1])) { s--; }
                mas[s] = mas[s] + 1;
                sum = 0;
                for (int i = s + 1; i < k; i++)
                {
                    sum += mas[i];
                }
                for (int i = 0; i < sum - 1; i++)
                { mas[s + i + 1] = 1; }
                R(mas, n, ref res);
                k = s + sum;
                s = k - 2;
            }
            Program.Vuvod(res);
        }
это на С# хотя код не имеет значенее важен сам алгоритм
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 00:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Розбиение числа на слагаемые (C++):

Разложение числа на слагаемые - C++
Разложение числа на слагаемые - используется во многих задачах (как мне кажется - это тривиальная задача). И мне стало интересно: какой...

Разложение натурального числа на слагаемые - C++
Я не силен в математике, но математику надоело вести математические методы и он начал давать задачки по созданию программ, все бы ничего,...

Найти все слагаемые заданного числа - C++
Задача: Дано число n, отобразить его всевозможные k слагаемые. Может у кого есть готовая задача или кто может помочь? Заранее спасибо.

Разложение натурального положительного числа на слагаемые? - C++
Помогите... Нужно разложить число на слагаемые... Причем, условия такие: слагаемые должны быть в диапазоне от 1 до 10 (соответственно...

Подсчитать количество различных разбиений числа N на натуральные слагаемые - C++
Условие: требуется подсчитать количество различных разбиений числа N на натуральные слагаемые. Два разложения считаются различными, если...

различные слагаемые - C++
По данному числу 1≤n≤10^9 найдите максимальное число k, для которого n можно представить как сумму k различных натуральных слагаемых....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2012, 00:34
Привет! Вот еще темы с ответами:

Разбиение на слагаемые - C++
Задание:нужно вывести на экран в лексикографическом порядке все разбиения на слагаемые числа n от 1 до 20. пример: n=5 5=1+1+1+1+1 ...

Разложение на слагаемые - C++
На входе у нас число (нат, пол) которое нужно разложить и ожидаймое количество слагаймых алгоритм решения таков..выделяем место для...

Разложение на слагаемые - C++
Подскажите идею для написания программы, желательно с рекурсией: Дано натуральное число n. Небходимо вывести все возможные варианты...

Число разбиений на слагаемые C++ - C++
Подскажите, есть такая задача. По данному целому числу 1≤n≤1000 найдите число способов представить n в виде суммы положительных целых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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