1005整数幂 c语言
时间: 2024-10-10 13:11:25 浏览: 64
在C语言中,计算1005的任意次幂可以使用循环或者递归的方式,特别是当指数较大时,为了效率通常会优先考虑迭代方法。这里提供一个基本的循环实现,也就是快速幂算法(Fast Exponentiation Algorithm),也称为“分治法”:
```c
#include <stdio.h>
// 定义快速幂函数,底数为a,指数为n
long long fastPow(long long a, unsigned int n) {
if (n == 0) return 1; // 如果指数为0,结果就是1
else if (n % 2 == 0) { // 若指数偶数
long long temp = fastPow(a, n / 2); // 计算半次方
return temp * temp;
} else { // 若指数奇数
long long temp = fastPow(a, n / 2); // 先计算半次方
return a * temp * temp;
}
}
int main() {
long long base = 1005;
unsigned int exponent;
printf("请输入指数:");
scanf("%u", &exponent);
long long result = fastPow(base, exponent);
printf("1005的%u次幂是:%lld\n", exponent, result);
return 0;
}
```
在这个程序中,输入一个正整数`exponent`,然后通过递归或循环将大指数分解成小指数来计算更快。用户可以运行这个程序并输入他们想要的指数来得到结果。
阅读全文