用函数模板求x的n次方
时间: 2023-06-11 12:06:03 浏览: 114
计算x的n次方
下面是一个用函数模板求x的n次方的示例代码:
```c++
#include <iostream>
template <typename T>
T power(T x, int n) {
T result = 1;
while(n > 0) {
if(n % 2 == 1) {
result *= x;
}
x *= x;
n /= 2;
}
return result;
}
int main() {
std::cout << power(2, 3) << std::endl; // 输出8
std::cout << power(3.14, 2) << std::endl; // 输出9.8596
return 0;
}
```
这个函数模板接受两个参数:一个是类型为T的数x,另一个是int类型的n。它返回x的n次方。
函数模板的实现使用了二进制快速幂算法,这个算法可以将幂运算的时间复杂度从O(n)降低到O(log n)。
阅读全文