计算1/(1+1^2+1^4) + 2/(1+2^2+2^4) + ... + 100/(1+100^2+100^4)
  MJlmRDrYd0Ow 2023年11月02日 36 0


一 暴力求解

double sum = 0;
for (int i = 1;i <= 100;i++) {
sum += i / (1.0 + i * i + i * i * i * i);
}
// sum = 0.4995

二 利用数学公式

1.找到通项

2.转换为平方和、平方差公式

3.利用拆项方法,将通项转为两项之和

4.合并化简

计算1/(1+1^2+1^4) + 2/(1+2^2+2^4) + ... + 100/(1+100^2+100^4)_4s

三 测试上述两种方法性能

循环1千万次,测试两种方法

方法1:耗时0.589s

方法1:耗时0.004s

可见算法的选择决定了程序的性能!

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 回调函数应用1 下一篇: Z字形变换
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  C0RG5J2hUEP5   2023年11月02日   52   0   0 c语言递归迭代c++算法
  dUbcXj9lnElT   2023年11月02日   49   0   0 #includei++c++
MJlmRDrYd0Ow
最新推荐 更多