Я пишу функцию рекурсии, чтобы найти мощность числа и, кажется, компилируется, но ничего не выводит.Функция рекурсии, чтобы найти силу числа
#include <iostream>
using namespace std;
int stepem(int n, int k);
int main()
{
int x, y;
cin >> x >> y;
cout << stepem(x, y) << endl;
return 0;
}
int stepem(int n, int k)
{
if (n == 0)
return 1;
else if (n == 1)
return 1;
else
return n * stepem(n, k-1);
}
Я попытался ее отладки, и он говорит, что проблема находится на этой линии: return n * stepem(n, k-1);
к, кажется, получаю некоторые странные значения, но я не могу понять, почему?
Ну правда, что ваш 'n' никогда не меняется. Вероятно, это бесконечная рекурсия, пока ваши стопки не заполнится. –
Разве это не бесконечный цикл? –
@ LoïcFaure-Lacroix Ну, это не должно меняться, почему? Я хочу умножить число 'n' для' k' раз. – user3002211