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

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

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

Рекурсия, разложение на слогаемые - C++

11.01.2012, 05:51. Просмотров 477. Ответов 1
Метки нет (Все метки)

Нужно подсчитать количество возможных разложение числа на сумму слагаемых количеством больше двух.
Мы водим число и получаем количество представлений.
p(1) = 1
p(2) = 2
p(3) = 3
p(4) = 5
p(5) = 7
p(6) = 11
p(7) = 15
p(8) = 22
p(9) = 30
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
36
37
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int N,K=0;
int number(int);
void main(){
    setlocale(0,"");
    do{
        cout<<"Введите число - ";
        cin>>N;
        if(N<=0)
            cout<<"\nЧисло должно быть больше нуля\n";
    }while(N<=0);
    if(N<=1)
        cout<<"Число нельзя разложить на слогаемые";
    else
        cout<<"Количество представлений ="<<number(N)<<endl;
    system("pause");
}
 
int number(int N){
    int M=0,K=0;
    while(N>=M){
    N--;
    M++;
    K++;
        if(M<N){
            if(N>1)
                K+=number(N);
            if(M>1)
                K+=number(M);
        }   
    }
    return K;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2012, 05:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсия, разложение на слогаемые (C++):

Рекурсия. Найти значение функции через разложение в ряд Тейлора - C++
Собственно, сабж. Есть функция cos^2(x), которую я хочу разложить в ряд Тейлора. Вот отрывок кода с функцией: double func(double...

Разложение числа на слагаемые [рекурсия] - Pascal
Привет! Пишу программу разложения числа на слогаемые, но опять хочу попросить помощи - не проходит два последних теста по лимиту...

Разложение числа на множители (рекурсия) - C#
public static void H2(int a, int k=2) { if (a&gt;0) { if (a == k)...

LU-разложение - Maple
Помогите, пожалуйста, написать LU-разложение на Maple14!!!!! :gsad:

LU -разложение. - C#
Помогите пожалуйста написать программу на С# для задачи о LU-разложении. А то что-то всё время ошибки выдает. Заранее благодарю.

QR разложение - MathCAD
В чем ошибка? подскажите пожайлуста

1
valeriikozlov
Эксперт С++
4675 / 2501 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
11.01.2012, 08:26 #2
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
#include <iostream>
 
using namespace std;
 
int N,K=0;
int number(int, int);
void main(){
        setlocale(0,"");
        do{
                cout<<"Ââåäèòå ÷èñëî - ";
                cin>>N;
                if(N<=0)
                        cout<<"\n×èñëî äîëæГ*Г® áûòü áîëüøå Г*óëÿ\n";
        }while(N<=0);
        if(N<1)
                cout<<"×èñëî Г*åëüçÿ Г°Г*çëîæèòü Г*Г* ñëîãГ*åìûå";
        else
                cout<<"Êîëè÷åñòâî ïðåäñòГ*âëåГ*ГЁГ© ="<<number(N, N)<<endl;
        system("pause");
}
 
int number(int N, int M){
    if(M==0)
        return 1;        
    if(M<0)
        return 0;
    int K=0;
    for(int i=N; i>0; i--)
        K+=number(i, M-i);
    return K;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2012, 08:26
Привет! Вот еще темы с ответами:

LU-разложение - Matlab
Доброго времени суток, возникла следующая проблема: программа не работает, выдает ошибку, которую найти не могу:( Программа написана для...

QR-разложение - Математика
Как найти обратную матрицу используя QR-разложение? :wall:

LU-разложение - C++
Решить матрицу методом LU. матрицы задаются рандомно и выводятся на экран, если можно с коментами #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; ...

Разложение - Delphi
необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для х изменяющихся от x0 до xk с шагом h = (x0-xk)/10....


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

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

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