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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
#1

Возвездение числа в степень (рекурсия) - C++

31.07.2010, 03:40. Просмотров 2366. Ответов 3
Метки нет (Все метки)

Возвести число base в степень exponent с помощью рекурсии.
Возможно ли обойтись без третьей переменной или же это оптимальный вариант?

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
//Рекурсивная функция возведения в степень
 
#include <iostream>
 
int power(int, int, int);
 
int main()
{
    int base, exponent, one=1;
    base=exponent=0;
    std::cout<<"Enter base: ";
    std::cin>>base;
    std::cout<<"Enter exponent: ";
    std::cin>>exponent;
    std::cout<<power(base, exponent, one);
    return 0;
}
 
int power(int b, int e, int s)
{
    if(e==0)
        return s;
    else
        return power(b,e-1, s*=b);
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2010, 03:40     Возвездение числа в степень (рекурсия)
Посмотрите здесь:

C++ Рекурсия:написать функцию которая возвращает степень числа
C++ Степень числа
Рекурсия возведение в степень C++
Вывести все числа от 1 до заданного натурального числа n (рекурсия) C++
Степень числа C++
C++ рекурсия степень
C++ Написать программу с функцией, вычисляющей целую степень дробного числа. Учесть,что степень может быть положительной, отрицательной, нулевой
Рекурсия(возведение в степень) C++
Рекурсия. Возведение в степень и сумма ряда C++
C++ Возведение числа в степень и проверка числа на четность
Рекурсия, возведение числа в степень C++
C++ Возведение числа в степень n-1

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Inadequate
Retired
7704 / 2564 / 183
Регистрация: 17.10.2009
Сообщений: 5,106
31.07.2010, 04:33     Возвездение числа в степень (рекурсия) #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Можно вот так
C++
1
2
3
4
5
6
7
int power(int b, int e)
{
    if (e == 0)
        return 1;
    else
        return b * power(b, e-1);
}
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
31.07.2010, 04:53  [ТС]     Возвездение числа в степень (рекурсия) #3
Inadequate, Ох. Точно. Спасибо огромное!
Nameless One
Эксперт С++
5767 / 3416 / 255
Регистрация: 08.02.2010
Сообщений: 7,441
31.07.2010, 09:15     Возвездение числа в степень (рекурсия) #4
Сокращенная запись:
C++
1
2
3
4
int power(int base, int e)
{
    return (e ? base * power(base, e - 1) : 1);
}
Yandex
Объявления
31.07.2010, 09:15     Возвездение числа в степень (рекурсия)
Ответ Создать тему
Опции темы

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