1/利用函数fact实现求x的n次方
时间: 2024-03-23 08:40:21 浏览: 15
可以按照如下代码实现:
```
#include <stdio.h>
long int fact(long x, long n);
int main() {
long int x;
long int n;
printf("请输入底数x和指数n(>=0):");
scanf("%ld,%ld", &x, &n);
printf("%ld的%ld次方=%ld", x, n, fact(x, n));
return 0;
}
long int fact(long int x, long int n) {
long int i, s = 1;
for (i = 1; i <= n; i++) {
s *= x;
}
return s;
}
```
在这段代码中,我们定义了一个函数fact,它的参数是底数x和指数n,返回值是x的n次方。在主函数中,我们首先输入底数x和指数n,然后调用fact函数,将结果打印输出。
相关问题
用函数模板求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)。
C语言定义函数实现求2的n次方
可以使用如下的C语言代码来定义一个函数,实现求2的n次方:
```c
#include <stdio.h>
int powerOfTwo(int n) {
int result = 1;
for (int i = 0; i < n; i++) {
result *= 2;
}
return result;
}
int main() {
int n = 5;
int result = powerOfTwo(n);
printf("2^%d = %d\n", n, result);
return 0;
}
```
在上述代码中,我们定义了一个名为`powerOfTwo`的函数,它接受一个整数参数n,返回2的n次方。在函数中,我们使用了一个for循环来计算2的n次方,将结果存储在一个名为`result`的变量中,并最终将其返回。在主函数中,我们声明一个变量n,调用`powerOfTwo`函数来计算2的n次方,并将结果打印到控制台中。