作业帮 > 综合 > 作业

C语言怎么编程求一个数任意次根

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/24 00:47:14
C语言怎么编程求一个数任意次根
要求不调用math.h里的函数,直接通过数学方法得出,比如求5^(0.8),怎么求啊,这是数学问题吧
有具体列子吗?给个代码啊,二楼你的回答不是我的提问啊,是求一个数开任意次根,比如9开2次根是3,81开4次的根是3,以上只是整数,我要的还要包括实数,比如 4.5开2.4次根是1.871423
想来想去用2分法只写了个求一个数开任意正整数次根的代码
n^(1/r) r为大于1的整数 n>0;
#include
#include
double nci(double k,int r) //求r个k相乘
{
int i;
double b=1;
for (i=1;i0;
scanf("%d",&r);
k=n/2.0;a=0;b=n;
while ((b-a)>1e-9)
{
if (nci(k,r)>n)
{
b=k;
k=(a+b)/2.0;
}
else
{
a=k;
k=(a+b)/2.0;
}
}
printf("%6lf=%5lf^(1/%d)\n",k,n,r);
printf("%6lf=%5lf^(1/%d)\n",pow(n,1.0/r),n,r);//调用pow函数结果
}