第一條題解!!!小學奧數——蓄水池水管問題


小學奧數————蓄水池水管問題

這道題有點怪,小學奧數除了暴力還能有其他算法?

我第一眼看到它就認為是暴力水題,直接暴力。但不對啊,有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;

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM