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

博客内容探讨了两种计算方法:暴力求解和数学公式优化。通过1千万次循环测试,发现利用数学公式的方法显著优于暴力求解,耗时仅0.004秒,凸显了算法选择对程序性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 暴力求解

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:耗时0.589s

方法1:耗时0.004s

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值