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

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

Войти
Регистрация
Восстановить пароль
 
Banddk
37 / 37 / 1
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
#1

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

22.04.2013, 23:54. Просмотров 671. Ответов 0
Метки нет (Все метки)

Пользователь вводит число. программа должна вывести все возможные неубывающие разложения на слагаемые. Вот что смог сделать . Помогите
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++
Дан массив char mas = { a, b, c, d, e, f, g, h, j, k }. Вывести на экран все возможные комбинации букв ( каждая комбинация = 10 символов )

разложение на все возможные слагаемые - C++
требуется разложить число, вводимое с клавиатуры и не большее 45, на слагаемые от 1 до 9 Добавлено через 6 минут (разными вариантами...

Вывести все неубывающие подпоследовательности - C++
С клавиатуры вводится последовательность из N действительных чисел. Вывести все ее неубывающие подпоследовательности элементов, идущих...

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

Вывести все возможные варианты перестановок от 1 до n - C++
Здравствуйте, у меня есть массив чисел от 1 до n, нужно чтобы выводились все возможные варианты перестановок по порядку, то есть для трёх...

Вывести все возможные перестановки слов в предложении - C++
С клавиатуры пишем предложение. Вывести все возможные перестановки тех слов в этом предложении, что не содержат первых десяти букв...

Вывести все возможные варианты разреза трубы - C++
Вводится длина трубы, количество заготовок (1, 2, 3, 4 ил 5), которые можно вырезать из трубы, и длина каждой заготовки. Вывести все...

Нужно вывести все возможные возрастающие 6-ти значные комбинации - C++
Задачка: Нужно вывести все возможные возрастающие 6-ти значные комбинации из промежутка чисел &lt;0,100&gt; Подкиньте пару идей.

Структуры. Вывести все возможные варианты покупки товаров - C++
может кто нибудь помочь составить прогу /* с++ */ 1) С клавиатуры вводятся записи вида: товар - стринг (название товара) цена -...

Вывести все возможные комбинации цепочек в матрице смежности - C++
Есть матрица смежности вида: AB0 BCD DD0 CKN NE0 KB0 Т.е. если в конце строки 0, то из одного узла есть связь только к одному...

Рекурсия: вывести сначала все положительные числа заданной последовательности, а потом все отрицательные - C++
Задание написать на Си С клавиатуры вводится непустая последовательность ненулевых целых чисел, которая заканчуется нулем. Вывести на...

Вывести на экран все возможные перестановки введенных ползователем символов - C++
С клавиатуры задается последовательность символов. Написать программу, которая выводит на экран все возможные перестановки введенных...


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

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

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