本文目录一览:
- 1、c语言乘方函数
- 2、用c语言实现大数乘方
- 3、C语言乘方运算
c语言乘方函数
在C语言的头文件 math.h中定义了pow(x,y),返回结果是x的y次方。其中,x、y及函数值都是double型;具体使用时要先添加#includemath.h。
在C++以及其他高级编程语言中都定义了此操作函数。C++中,乘方函数被定义在了头文cmath头文件下。具体使用时,需先引用头文件#include cmath。
对于64位长整型数据进行乘方计算,pow函数已无法满足其精度需要,这里需要通过长整型数的四则运算来实现。
乘方函数名称:pow(double,double), 具体参数中至少一方为float、double、long double类型。如计算5³;时, 直接使用 pow(5,3);返回结果即记为125。
用c语言实现大数乘方
#includestdio.h
#includestdlib.h
void main()
{
int *a,n,b;
a=(int *)malloc(sizeof(int)*200000);
for(int i=0;i200000;i++)
a[i]=0;
a[199999]=1;
printf("请输入要被乘方的数\n");
scanf("%d",b);
printf("请输入乘方数\n");
scanf("%d",n);
for(i=1;in+1;i++)
{
for(int j=0;j200000;j++)
a[j]*=b;
for(j=199999;j=0;j--)
if(a[j]=10)
{
a[j-1]+=a[j]/10;
a[j]%=10;
}
}
for(i=0;a[i]==0;i++);
for(;i200000;i++)
printf("%d",a[i]);
printf("\n");
free(a);
}
可以处理2的200000次内的乘方
乘方数大了会比较慢
输入1024的10000次,能输出,不过你看看像什么样子
和输入32的20000次一样的,应该没有什么问题
C语言乘方运算
C语言的乘方运算可以利用库函数pow。
pow函数原型:double pow( double x, double y );
头文件:math.h/cmath(C++中)
功能:计算x的y次幂。
参考代码:
#include stdio.h
#include math.h
int main()
{
int a=3,b=2;
double t = pow(a,b);//计算3的平方并输出
printf("%.0lf\n",t);
return 0;
}
/*
输出:
9
*/