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

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

Восстановить пароль Регистрация
 
more1994
0 / 0 / 0
Регистрация: 13.12.2012
Сообщений: 8
13.12.2012, 00:34     Розбиение числа на слагаемые #1
Помогите пожалуйста разобраться в чем суть алгоритма, как мы переходим от элемента к елементу.Вот само задание перечислить все розбиения положительного числа 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);
        }
это на С# хотя код не имеет значенее важен сам алгоритм
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 00:34     Розбиение числа на слагаемые
Посмотрите здесь:

Разбиение на слагаемые C++
Разложение числа на слагаемые C++
C++ Разложение на слагаемые
Разложение натурального положительного числа на слагаемые? C++
C++ Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?
C++ разложение на все возможные слагаемые
C++ Суммировать слагаемые при фиксированном параметре x
C++ Подсчитать количество различных разбиений числа N на натуральные слагаемые

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 10:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru