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

Рекурсия: вывести все возможные неубывающие разложения на слагаемые - C++

Восстановить пароль Регистрация
 
Banddk
37 / 37 / 1
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
22.04.2013, 23:54     Рекурсия: вывести все возможные неубывающие разложения на слагаемые #1
Пользователь вводит число. программа должна вывести все возможные неубывающие разложения на слагаемые. Вот что смог сделать . Помогите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include "locale"
#include "vector"
using namespace std;
int Separation(int x,vector<int> &t);
int main(int argc, const char * argv[])
{
    setlocale(LC_ALL, "russian");
    int n;
    cout<<"введите число:";
    cin>>n;
    vector<int>elements;//вектор для хранения разложений
    Separation(n,elements);
    for(int i=0;i<elements.size();i++){//вывод элементов вектора
        if(elements[i]==0)
            cout<<"\n";
        else
        cout<<elements[i]<<"+";
        
    }
}
 
 
int Separation(int x,vector<int> &t){//функция разложения на множители
    if(x==0){
        t.push_back(0);
        return 0;
    }
    else{
    for(int i=x-1;i>=0;i--){
        t.push_back(x-i);
        Separation(i,t);
    }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 23:54     Рекурсия: вывести все возможные неубывающие разложения на слагаемые
Посмотрите здесь:

Структуры. Вывести все возможные варианты покупки товаров C++
C++ разложение на все возможные слагаемые
C++ Вывести все возможные комбинации цепочек в матрице смежности
Нужно вывести все возможные возрастающие 6-ти значные комбинации C++
Вывести на экран все возможные перестановки введенных ползователем символов C++
C++ Вывести все возможные варианты перестановок от 1 до n
C++ Вывести все возможные перестановки слов в предложении
C++ Вывести все возможные варианты разреза трубы

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

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

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