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

задача на рекурсию в си++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ SendMessage http://www.cyberforum.ru/cpp-beginners/thread714052.html
Всем привет! Пишу программу которая сама нажимает мышкой в игре по заданным координатам. Для этого игра уже должна быть запущена. Если игра не запущенна то на экран выдается соответствующее...
C++ Работа с текстовыми файлами 3)Разработать программу, которая выполняет следующие действия: создает входной поток для построчного чтения из внешнего файла и выходной поток для вывода в выходной файл. Текст из входного потока ... http://www.cyberforum.ru/cpp-beginners/thread714050.html
Разработать функцию, проверяющую, является ли число простым C++
1)Разработать функцию, проверяющую, является ли число простым. С её помощью найти и напечатать все простые числа из интервала от n до m.
Количество чисел массива равных последнему элементу C++
Здравствуйте! Помогите мне пожалуйста с задачкой) Дан массив и n целых чисел (n<=100). Найти количество чисел массива равных последнему элементу массива.
C++ Задача на линейные списки. Вставить в список L новый элемент E1 за каждым вхождением заданного элемента E http://www.cyberforum.ru/cpp-beginners/thread714032.html
Вставить в список L новый элемент E1 за каждым вхождением заданного элемента E, если Е входит в L.
C++ Задача на базы данных Используя технологию структурного программирования разработать программу обработки файлов структур с числом записей не менее пяти в соответствии с индивидуальным заданием. Города ... подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
30.11.2012, 06:35
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
38
#include <iostream>
using namespace std;
#define N 51 
int t[N];
int rec(int a, int b, int l, int n)
{
    if(l>n)
        return 1;
    if(t[l-1]==0)
    {
        if(b==0)
            return 0;
        t[l]=1;
        return rec(a, b-1, l+1, n);
    }
    else
    {
        int tmp=0;
        if(a>0)
        {
            t[l]=0;
            tmp+=rec(a-1, b, l+1, n);
        }
        if(b>0)
        {
            t[l]=1;
            tmp+=rec(a, b-1, l+1, n);
        }
        return tmp;     
    }
}
int main(){
    int a, b;
    cin>>a>>b;
    t[0]=1;
    cout<<rec(a,b,1,a+b)<<endl;
    return 0;
 }
работает при a+b<=50
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru