1+1/2+1/3+...+20/1
1/20不是20/1
1+1/2+1/3+...+20/1
答案:2 悬赏:60 手机版
解决时间 2021-02-28 03:45
- 提问者网友:火车头
- 2021-02-27 18:00
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-02-27 19:38
1+1/2+1/3+1/4+....+1/20 =1/1+1/2+1/3+1/4+....+1/20 规律:分子都是1;分母从1-20,每次递增1 public static void main(String[]args){ int i=1; int sum=0; while(i<21){ sum+=1/i; i++; } System.out.println(sum); }
全部回答
- 1楼网友:英雄的欲望
- 2021-02-27 21:01
当n很大时,有:1+1/2+1/3+1/4+1/5+1/6+...1/n = 0.57721566490153286060651209 + ln(n)//c++里面用log(n),pascal里面用ln(n) 0.57721566490153286060651209叫做欧拉常数 1+1/2+1/3+…+1/n是没有好的计算公式的,所有计算公式都是计算近似值的,且精确度不高。 自然数的倒数组成的数列,称为调和数列.人们已经研究它几百年了.但是迄今为止没有能得到它的求和公式只是得到它的近似公式(当n很大时): 1+1/2+1/3+......+1/n≈lnn+c(c=0.57722......一个无理数,称作欧拉初始,专为调和级数所用) 得到公式, 用c++实现就容易了 long double sn( const unsigned int& n ) { const long double euler = 0.57721566490153286060651209; return ( log( static_cast(n) ) + euler ); } 一个可以计算欧拉常数的递推公式的 euler= 1 + 1/2 + ... + 1/m -ln(m) - 1/(2m) + 1/(12m^2) - 1/(120m^4) + 1/(252m^6)- o(m) 其中 |o(m)| <= 22.5*(m * pi)^(-7) 因此只要选择一个合适的m使o(m)不影响精度即可 例如,当m=5的时候,精度高于1e-7.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯