求ln2的近似值
求ln2的近似值,要求误差不超过10e-5,公式为
x(n)=1-1/2+1/3-1/4++(-1)(n-1次方)*1/n n=1,2,...
大家看我这样写的有没有问题啊?
main()
{
int i=1;
double x=0.0,m,tmp;
while (m> 10e-5)
if (i%2==0)
{
tmp=x;
x=x+1/i;
m=x-tmp;
i++;
}else
{
tmp=x;
x=x+1/i;
m=tmp-x;
i++;
}
printf( "%f\n ",m);
}
如果没错
哪位仁兄能再看看能不能代码精简些
[解决办法]
#include <stdio.h>
void main()
{
double x=0;
int k=1, l=1;
for(int n=1; n+1 <=10e5; ++n)
{
x+=1.0/k*l;
++k;
l*=-1;
}
printf( "%e\n ",x);
}