Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 1
Регистрация: 22.05.2014
Сообщений: 4
1

Написать рекурсивную и нерекурсивную программу

22.05.2014, 18:45. Показов 2130. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать рекурсивную и нерекурсивную программу вычисления значения функции f, полученной оператором
примитивной рекурсии R над функциями g и h.
g (x, y, z) = x+y+z
h(x, y, z, t,v) = (v+1)(x+z)

Помогите, пожалуйста, чем можете.)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2014, 18:45
Ответы с готовыми решениями:

Написать рекурсивную и нерекурсивную версию задачи о ханойской башне
Написать рекурсивную и нерекурсивную версию программы для нахождения последовательности перемещений...

Написать рекурсивную и нерекурсивную функции вычисления полинома (ошибка в цикле)
Здравствуйте,Помогите найти ошибку в цикле. Задание: Написать рекурсивную и не рекурсивную...

Переделать нерекурсивную функцию в рекурсивную
Написала функцию, которая после каждого символа введённой строки должна вставлять символ "*". ...

Составить рекурсивную и нерекурсивную функцию
Найти сумму: 1^2+3^2+5^2+7^2... (n слагаемых). Буду очень признательна.

1
0 / 0 / 1
Регистрация: 22.05.2014
Сообщений: 4
03.06.2014, 19:50  [ТС] 2
Лучший ответ Сообщение было отмечено Chev как решение

Решение

Вроде разобрался сам.

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>
#include<conio.h>
using namespace std;
 
int Recursion(intx, inty, intz, intt)
{
    int res = 0;
    if(t == 0) res = x + y + z;
        else res = (Recursion(x, y, z, t-1)+1)*(x + z);
    return res;
}
 
int Normal(intx, inty,  intz, intt){
int res = x + y + z;
        for(int i = 1; i<= t; i++){ res = (res+1)*((i-1) + x*y);}
    
    return res;
}
 
int main()
{
    longint x, y, z, t;
    do{
        cout<<"Enter x, y, z, t: "; cin>> x; cin>> y; cin>> z, cin>> t;
        cout<<" Recursion: f("<< x <<","<< y <<","<< z <<","<< t <<") = "<< Recursion(x, y, z, t) <<endl;
        cout<<" Normal: f("<< x <<","<< y <<","<< z <<","<< t <<") = "<< Normal(x, y, z, t) <<endl;
        cout<<"Press any key to continue or Esc!"<<endl<<endl;
    }
    while(getch() != 27);
    return 0;
}
Добавлено через 8 минут
Небольшая поправка:
изменить
C++
1
for(int i = 1; i<= t; i++){ res = (res+1)*((i-1) + x*y);}
на
C++
1
for(int i = 1; i<= t; i++){ res = (res+1)*((i-1) + x*y);}
Добавлено через 49 секунд
Эта строка для нерекурсивности.

Добавлено через 57 секунд
Ой, на
C++
1
for(int i = 1; i<= t; i++){ res = (res+1)*(x + z);}
прошу прощения хД
0
03.06.2014, 19:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2014, 19:50
Помогаю со студенческими работами здесь

Написать рекурсивную программу нахождения для заданного n количества радикалов-C++
Написать рекурсивную программу нахождения для заданного n количества радикалов на языке С++

Написать рекурсивную и не рекурсивную функции вычисления полинома Чебышева первого ряда:
Написать рекурсивную и не рекурсивную функции вычисления полинома Чебышева первого ряда: ...

Используя рекурсивную функцию, написать программу для вычисления рекуррентного соотношения
Задание: Используя рекурсивную функцию, написать программу для вычисления рекуррентного соотношения...

Написать программу и рекурсивную функцию для вычисления значения суммы бесконечного ряда с заданной точностью
Написать программу и рекурсивную функцию для вычисления значения суммы бесконечного ряда с заданной...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru