Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
19 / 19 / 2
Регистрация: 29.11.2009
Сообщений: 224
1

Возведение в стрепень, рекурсивная функция.

19.12.2009, 15:27. Показов 1733. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание: написать рекурсивную функцию, которая возводит число в степень путем многократного умножения числа самого на себя.
(Сам знаю, что можно сделать гораздо проще и оптимальнее, но надо именно через рекурсию).

P. S. На этот раз программа действительно не работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int stepenj(int num, int degr)
{
    if(degr==0)
        return 1;
    else
        return num*(num, degr-1);
}
 
int main()
{
    int number, degr;
    cout << " Enter number and degr:\n-> ";
    cin >> number >> degr;
    cout << stepenj(number, degr) << endl;
    return 0;
}
Задаю программе 4 2. Но она бред какой-то выдает, видимо ошибка в самой функции, но я не вижу.

Добавлено через 2 минуты
Может быть потому что надо 10 строку поменять?
return num*stepenj(num, degr-1);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2009, 15:27
Ответы с готовыми решениями:

Рекурсивная функция: возведение в степень
Решить задачу вычисления выражения Xy с помощью циклов, затем реализовать рекурсивную функцию....

Рекурсивная функция у меня другая но только не рекурсивная
Добрый день все ! Писал я про задачку но так и не кто откликнулся напомню о чем речь &quot; Добрый...

Рекурсивная функция
Прошу помочь с решением, желательно с пояснениями, ибо сам совсем не понимаю, что такое рекурсивные...

Рекурсивная функция
Задание: Составить программу для счисления сумы К членов строки, где К определяется ||Uk| -|Um||&lt; е...

4
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
19.12.2009, 17:55 2
OVERPOWER8, да да именно так как вы исправили ибо мы просто вызывваем эту же функцию с меньшей степенью но оно и логично чтобы сосчитать 2^3 надо 2 * 2^2 и т д..
1
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
19.12.2009, 21:36 3
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;
 
long long BinPow(int a, int n)
{
    long long res = 1;
    while (n)
    {
        if (n&1)  
        {
            res *= a;
            --n;
        }
        else
        {
            a *= a;
            n >>= 1;
        }
    }
    return res;
}
 
int main()
{
    int a , n;
    cin >> a >> n;
    cout << (BinPow(a,n)) << endl;
    system("pause");
    return 0;
}
за 2:35 мин.
http://codepad.org/uYksI0Ai
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
19.12.2009, 21:38 4
outoftime, и где же тут рекурсия?)
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
19.12.2009, 21:47 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
using namespace std;
 
long long BinPow(int a, int n){ return (n) ? ( n&1 ? a * BinPow(a,n-1) : BinPow(a,n>>1)*BinPow(a,n>>1) )  : (1);}
 
int main()
{
    int a, n;
    cin >> a >> n;
    cout << (BinPow(a,n)) << endl;
    system("pause");
    return 0;
}
http://codepad.org/tH2z28FI
тупой алгоритм выходит, так как его быстродействие уменьшается в несколько раз..
0
19.12.2009, 21:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2009, 21:47
Помогаю со студенческими работами здесь

Рекурсивная функция
Здравствуйте! Нужно сделать рекурсивную функцию по этому заданию: &quot;Дано натуральное число n....

Рекурсивная функция
Нужно написать рекурсивнюю функцию сложения двух чисел, используя только прибавление единицы.

Рекурсивная функция
описать рекурсивную функцию power(n,x) вещественного типа, находящую значение n-й степени числа x...

Рекурсивная функция
Нужна помощь в выполнении данного задания: Даны первый член и знаменатель геометрической...


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

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