c语言计算n的k次方
时间: 2024-11-22 15:37:06 浏览: 20
C语言程序设计-编写函数fun求s=1^k+2^k +3^k + ......+N^k的值,(1的K次方到N的K次方的累
5星 · 资源好评率100%
在C语言中,计算一个数n的k次方可以使用循环结构,常见的有递归和迭代两种方法。这里给出一个简单的迭代算法示例:
```c
#include <stdio.h>
// 函数计算n的k次方
long long power(long long n, unsigned int k) {
long long result = 1;
while (k > 0) {
// 如果k是奇数,则结果乘以n
if (k % 2 == 1) {
result *= n;
}
// 将n自乘以便减少计算次数
n *= n;
// k除以2,将k变为偶数以便下一次循环只乘以n
k /= 2;
}
return result;
}
int main() {
long long n, k;
printf("请输入底数n:");
scanf("%lld", &n);
printf("请输入指数k:");
scanf("%u", &k);
long long result = power(n, k);
printf("n的k次方的结果是:%lld\n", result);
return 0;
}
```
在这个程序中,我们首先检查k是否为奇数,如果是,就将结果乘以n;然后将n自乘并将k除以2,这个过程会一直持续到k变成0。这种方法避免了直接对n做k次乘法,提高了效率。
阅读全文