专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

求ln2的近似值,该怎么解决

发布时间:2011-06-28 16:08:22 文章来源:www.iduyao.cn 采编人员:星星草
求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);
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: