Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2011, 23:13   #1
cranxx
Пользователь
 
Регистрация: 30.11.2010
Сообщений: 10
Вопрос Рекурсия

Вычислить по следующему алгоритму: y=(x^n/2)^2 , если N чет-
ное; y=x*x^n-1 , если N нечетное.

Подскажите как реализовать? Разбирался с рекурсией на примере факториала вроде там все было ясно... А здесь не знаю.
cranxx вне форума Ответить с цитированием
Старый 21.02.2011, 00:31   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Код:
int power(int x,int n){
    if(n==0)return 1;
    if(n%2==0){
        return power(x,n/2)*power(x,n/2);
    }else{
        return x*power(x,n-1);
    };
};
это без оптимизации и всего прочего
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 21.02.2011, 18:08   #3
ololo-schoolboy
Форумчанин
 
Регистрация: 25.12.2010
Сообщений: 247
По умолчанию

или так
Код:
int power(int x,int n){
    if(n==0) return 1;
    else if(n%2==0) return sqrt(power(x,n/2));
    else return x*power(x,n-1);
}
ololo-schoolboy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсия -Spirit- Помощь студентам 1 14.01.2010 16:40
Рекурсия. Си. MAKEDON Помощь студентам 5 03.06.2009 17:52
(С++) Рекурсия Troi666 Помощь студентам 9 23.05.2009 02:01
Рекурсия Настенька..Блонди Паскаль, Turbo Pascal, PascalABC.NET 1 08.05.2009 12:27