小学奥数————蓄水池水管问题

这道题有点怪,小学奥数除了暴力还能有其他算法?

我第一眼看到它就认为是暴力水题,直接暴力。但不对啊,有bug,我无论写的程序还是手算都没算出样例。后来发现不对,题看错了,进水出水看反了。。。于是轻松改掉代码,开开心心提交代码,等待AC——

但是出来一个9分,为啥呢?想来想去仍不得要领,后来一想,或许是因为精度不够?便把所有的数都乘10000,然后再一提交,果然AC了!!

代码如下:

#include<cstdio>
#include<iostream>
using namespace std;
int main(){
    double a,b,c,d;
    double a1,b1,c1,d1,i,tot=0;
    cin>>a>>c>>b>>d;
    a1=(1/a)*10000;
    b1=(1/b)*10000;
    c1=(1/c)*10000;
    d1=(1/d)*10000;
    for(i=0;;)
    {
        tot+=a1;
        i++;
        if(tot>=10000)
        {
            tot-=10000;
            i-=tot/a1;
            break;
        }
        i++;
        tot-=c1;
        i++;
        tot+=b1;
        if(tot>=10000)
        {
            tot-=10000;
            i-=tot/b1;
            break;
        }
        i++;
        tot-=d1;
    }
    printf("%.2lf",i);
    return 0;

}
第一条题解!!!小学奥数——蓄水池水管问题

相关文章:

  • 2022-12-23
  • 2021-06-20
  • 2021-07-22
  • 2021-11-23
  • 2022-01-06
  • 2021-09-19
  • 2021-05-21
  • 2021-07-12
猜你喜欢
  • 2022-12-23
  • 2020-02-02
  • 2021-12-18
  • 2022-12-23
  • 2022-03-03
  • 2021-07-19
相关资源
相似解决方案