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

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

Войти
Регистрация
Восстановить пароль
 
parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 692
#1

Возведение в степень n с помощью рекурсии - C++

26.08.2011, 14:18. Просмотров 1025. Ответов 2
Метки нет (Все метки)

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 funk(int,int);
int main ()
{setlocale(LC_ALL,"Rus");
int a=2,n=5;
cout<<funk(a,n);
cin.get();
cin.get();
return 0;
}
int funk(int a,int n)
{if(n%2==0)
return (funk(a*=a,n-=2));
if(n==1)
    return a;
if (n%2==1)
    return(funk(a*=a,n-=1));
}
Попытался осуществить. Алгоритм понял, но на с++ с паскаля перевести не смог. Пожалуйста подскажите как правильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2011, 14:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возведение в степень n с помощью рекурсии (C++):

Возведение в степень с помощью умножения - C++
Только pow() не предлагайте - при преобразовании в int не работает так как надо, спасибо.

Найти с помощью рекурсии сумму и возвести в степень - C++
Помогите пожалуйста R (N) =N^3 / n + (N-1)^3/N + (N-2)^2 / N + ... + 2^3 / N + 1/N . f(x,N)=(x/N^2-x^5)^n

Сделать с помощью массива возведение двойки в произвольную степень. - C++
Пользователь вводит число, программа выводит 2 в этой степени, т.е. пользователь вводит N, и 2 возводится в степень N. (сам бы сделал,...

Возведение a в степень b - C++
Пользователь вводит числа а и b, программа считает &quot;а&quot; в степени &quot;b&quot;. Помогите написать код

Возведение в степень - C++
напишите программный код для С++ Builder

Возведение степень - C++
int n=2; float i; i=pow(((n-1)/(n+1)), n*(n-1)); Выдает ошибку Domain Error. В чем дело и есть ли альтернатива pow() ?

2
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
26.08.2011, 14:20 #2
А вам точно рекурсия нужна, а то итерация быстрее работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
unsigned long Degree(unsigned int a, unsigned int n)
{
  unsigned long deg, rez;
  rez = 1;
  deg = a;
  while (n != 0)
  {
     if (n & 1)
        rez *= deg;
     deg *= deg;
     n >>= 1;
  }
  return rez;
}
1
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
26.08.2011, 14:22 #3
C++
1
2
3
long long pow(long long num, long long level) {
    return level ? num * pow(num, level - 1) : 1;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2011, 14:22
Привет! Вот еще темы с ответами:

Возведение в степень - C++
Вывести на экран таблицу степеней &quot;к&quot;, где те изменяются от 1 до 10,к-вещественое число.оперцию возведения вещественого числа в степень...

Возведение в степень - C++
Совсем недавно начал изучать C++. Учу по книге. Было задание: Вводишь число Вводишь степень в которую надо возвести это число ...

Возведение в степень - C++
Подскажите, как написать программу возведения 2-ки в миллионную степень и вывести результат на экран. #include &lt;stdio.h&gt; #include...

Возведение в степень - C++
Здравствуйте! Есть какой то другой способ возведения в степень чем а^3 = а*а*а А если нужно в 100 степень возводить то умереть и не...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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