利用递归求n^k
(n 和 k 都为正整数 )
先输入n,然后输入k,最后输出结果
#include <iostream>
using namespace std;
int calc(int n, int k);
int main() {
int n, k;
cout << "input n: " << endl;
cin >> n;
cout << "input k: " << endl;
cin >> k;
cout << calc(n, k);
return 0;
}
int calc(int n, int k) {
if (k == 1)return n;
else {
if (k % 2 == 0)return calc(n, k / 2) * calc(n, k / 2);
if (k % 2 == 1)return n * calc(n, k / 2) * calc(n, k / 2);
}
}
关键:找出递推规律