Предмет: Информатика, автор: oxxxyversus

Рекурсия в C++
Только начинаю изучать C++. Подскажите в чем ошибка. Нужно чтобы числа от 1 до 10 возводилось в степень, вводимую с клавиатуры. При это нельзя использовать
math.h/cmath








#include
using namespace std;

int calculatePower(int, int);

int main()
{
int base, powerRaised, result, i;

cout << "Enter power number(positive integer): ";
cin >> powerRaised;

result = calculatePower(base, powerRaised);
cout << "1 2 3 4 5 6 7 8 9 10 " << " ^ " << powerRaised << " = " << result;
cout << i << " ";

}

int calculatePower(int base, int powerRaised)
{
if (powerRaised > 0){
for(int i=1; i<11;i++){


base = i*calculatePower(i, powerRaised-1);
return base;
}

}
return 1;
}

Ответы

Автор ответа: alexlar30
1

Ответ:

Объяснение:

Вот исправленный вариант

Цикл перенести в main

Переписана функция вычисления степени,

надо воспользоваться рекурсивным вычислением степени,

а именно x^n = x*x^(n-1).

#include <iostream>

using namespace std;

int calculatePower(int, int);

int main()  {

int base, powerRaised, result, i;

cout << "Enter power number(positive integer): ";

cin >> powerRaised;

for (int i = 1; i < 11; i++)  {

 result = calculatePower(i, powerRaised);

 cout << i << " ^ " << powerRaised << " = " << result << endl;

}

}

int calculatePower(int base, int powerRaised)  {

if (powerRaised > 0)  {  

 return base * calculatePower(base, powerRaised - 1);    

}  

return 1;

}

Похожие вопросы
Предмет: Алгебра, автор: limdagazgirieva59161
Предмет: Алгебра, автор: limdagazgirieva59161