【问题描述】 编写模板函数power(x, y),返回x的y次幂,函数的第一个参数为底数x,可以为任意数值类型;第二个参数为y为幂,类型为整数;返回值类型与底数类型相同。 注:考虑0次幂的情况,输出为1 【输入形式】输入数据有多2,第1个行输入2个整数,第2行第1个为实数,第2个数必须为整数 【输出形式】输出2行,每行输出一个结果 【样例输入】 12 4 3.6 7 【样例输出】 20736 7836.42
时间: 2024-01-21 18:17:26 浏览: 135
C54X DSPLIB 中文说明,学习使用DSP很有用
5星 · 资源好评率100%
C++代码实现:
```cpp
#include <iostream>
using namespace std;
template<typename T>
T power(T x, int y) {
T res = 1;
if (y == 0) return res; // 处理0次幂的情况
while (y) {
if (y & 1) res *= x;
x *= x;
y >>= 1;
}
return res;
}
int main() {
int a, b;
double c;
int d;
cin >> a >> b >> c >> d;
cout << power(a, b) << endl;
cout << power(c, d) << endl;
return 0;
}
```
Python代码实现:
```python
def power(x, y):
res = 1
if y == 0:
return res # 处理0次幂的情况
while y:
if y & 1:
res *= x
x *= x
y >>= 1
return res
a, b = map(int, input().split())
c, d = map(float, input().split())
print(power(a, b))
print(power(c, d))
```
阅读全文