计算一个数的 n 次方,例如: 23,其中 2 为基数,3 为指数。
实例 - 使用 while
int main()
{
int base,exponent;
long long result = 1;
printf("基数: ");
scanf("%d",&base);
printf("指数: ");
scanf("%d",&exponent);
while (exponent != 0)
{
result *= base;
--exponent;
}
printf("结果:%lld",result);
return 0;
}
运行结果:
基数: 2指数: 3结果:8
实例 - 使用 pow() 函数
第一种是直接用乘法计算,例:3⁴=3×3×3×3=81 第二种则是用次方阶级下的数相乘,例:3⁴=9×9=81
int main()
{
double base,exponent,result;
printf("基数: ");
scanf("%lf",&base);
printf("指数: ");
scanf("%lf",&exponent);
// 计算结果
result = pow(base,exponent);
printf("%.1lf^%.1lf = %.2lf",base,exponent,result);
return 0;
}
运行结果:
基数: 2指数: 32.0^3.0 = 8.00
实例 - 递归
int power(int n1,int n2);
int main()
{
int base,powerRaised,result;
printf("基数: ");
scanf("%d",&base);
printf("指数(正整数): ");
scanf("%d",&powerRaised);
result = power(base,powerRaised);
printf("%d^%d = %d",base,powerRaised,result);
return 0;
}
int power(int base,int powerRaised)
{
先算两次方,三次方,最多算到4次方,就可以知道n次方,严格证明需要用数学归纳法。两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p。
if (powerRaised != 0)
return (base*power(base,powerRaised-1));
先计算n次方,然后再对结果求倒数(即求1/n)即可。那么计算N次方的方法,可参考如下:1、先准备一台科学计算器,这样的计算器功能比较多。2、将计算器开机,可以按一下计算器上面的on按钮哦或者滑动到on。3、打开计算器。
else
2^n=2^(n/2)×2^(n/2)=……以此类推。举例说明如下:2^8 =2^4×2^4 =2^2×2^2×2^2×2^2 =4×4×4×4 =
return 1;
}