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

Реализовать рекурсивную функцию вычисления степени из числа - C++

Восстановить пароль Регистрация
 
Facktor88
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
19.02.2014, 19:31     Реализовать рекурсивную функцию вычисления степени из числа #1
Добрый день , помогите решить задачи :
====================================================================================
1.Реализовать рекурсивную функцию вычисления степени из числа (Pow)

2.Реализовать рекурсивную функцию линейного поиска в массиве (SearchInArray)

3. Реализовать рекурсивную функцию , которая принимает номер числа Фибоначчи , и возвращает само число.
=====================================================================================

Мои примеры функций :

1. (Pow)

C++
1
2
3
4
5
6
int pow(int a, int n);
{
    int f = 1;
    for (int i = 1; i <= n; i++)
        f = f*a;
    return f;

2.int searchElement(int a[], const int n, const int key);
C++
1
2
3
4
5
6
7
8
9
10
{
    for (int i = 0; i < n; i++)
    {
        if (a[i] == key)
        {
            return i;
        }
    }
    return -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
int fact(int n)
{
    int res = 1;
    while (n > 0)
    {
        res *= n;
        n--;
    }
    return res;
}
 
int fact(int n)
{
    if (n > 0)
    {
        return n * fact(n - 1);
    }
    return 1;
}
int factor(int n)
{
    return n > 0 ? n * factor(n - 1) : 1;
}
void main()
{
    cout << fact(5) << endl;
}
Мне нужно вот таким образом реализовать вышеуказанные функции (рекурсивно) .

Заранее благодарен.

P.S. Ссылки и указатели еще не учили, прошу их не использовать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 19:31     Реализовать рекурсивную функцию вычисления степени из числа
Посмотрите здесь:

C++ Реализовать рекурсивную функцию вычисления n-ого числа из последовательности Фибоначчи по формуле: Fib(0)=1, Fib(1)=1, Fib(n)= Fib(n-1)+ Fib(n-2).
C++ Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле:
Написать рекурсивную функцию для расчета степени n вещественного числа a C++
Реализовать рекурсивную функцию для вычисления значений функции C++
Написать рекурсивную функцию вычисления количества цифр натурального числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
19.02.2014, 20:27     Реализовать рекурсивную функцию вычисления степени из числа #2
C++
1
2
3
4
5
6
int pow(int a,int n)
{
if(n!=0)
return a*pow(a,n-1);
else return 1;
}
Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
int searchElement(int a[], int n, const int key)
{
if(n!=0){
if(a[n-1]==key) return n-1;
else searchElement(a[], n-1, key)
}else{return -1;}
 
 
}
Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
int fact(int a,int b,int n,int k)
{
if(n==k) return a;
else fact(b,a+b,n,k+1);
}
int factor(int n)
{
return fact(1,1,n,0);
}
Facktor88
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
19.02.2014, 20:38  [ТС]     Реализовать рекурсивную функцию вычисления степени из числа #3
Не работает :
Миниатюры
Реализовать рекурсивную функцию вычисления степени из числа  
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
19.02.2014, 21:31     Реализовать рекурсивную функцию вычисления степени из числа #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int pow(int a,int n)
{
if(n!=0)
return a*pow(a,n-1);
else return 1;
}
int main()
{int a,n;
cin>>a>>n;
cout<<pow(a,n);
return 0;
}
Yandex
Объявления
19.02.2014, 21:31     Реализовать рекурсивную функцию вычисления степени из числа
Ответ Создать тему
Опции темы

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