C++计算一个数的n次方
时间: 2024-10-20 09:15:51 浏览: 73
在C++中,你可以使用循环或者递归来计算一个数的n次方。这里提供两种常见方法:
### 使用循环 (for或while)
```cpp
#include <iostream>
int power(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; ++i) {
result *= base;
}
return result;
}
int main() {
int base, n;
std::cout << "Enter a base number and an exponent: ";
std::cin >> base >> n;
std::cout << "The result is: " << power(base, n);
return 0;
}
```
### 使用递归
```cpp
#include <iostream>
int power(int base, int exponent) {
if (exponent == 0) return 1;
else if (exponent % 2 == 0) // 如果指数偶数,简化为base * base^(exponent/2)
return power(base, exponent / 2) * power(base, exponent / 2);
else // 如果指数奇数,简化为base * base^(exponent-1)
return base * power(base, exponent - 1);
}
int main() {
int base, n;
std::cout << "Enter a base number and an exponent: ";
std::cin >> base >> n;
std::cout << "The result is: " << power(base, n);
return 0;
}
```
这两种方法都可以有效计算,但是递归版本可能会消耗更多的栈空间对于大数值或高阶次幂。
阅读全文