首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

HDU 1408 鹽水的故事:浮點數模擬每日蒸發

     編輯:關於C++

問題描述

初始鹽水體積 V,每日蒸發 D。第 i 天進行 i 次蒸發(每次蒸發 D),直到體積 ≤ 0。求總共經過多少次蒸發。V, D 為浮點數。

直接模擬

double V, D;
while (cin >> V >> D) {
    int time = 0, day = 1;
    while (V > 0) {
        for (int j=1; j<=day; j++) {
            if (V <= 0) break;
            V -= D;
            time++;
        }
        day++;
    }
    cout << time - 1 << endl; // 最後一次導致 V≤0 仍計數,需 -1
}

關鍵點

  • 用 double 存儲體積,避免整數截斷誤差。
  • 外層按天遞增蒸發次數,內層執行當日蒸發。
  • 循環結束時多計數一次,輸出 time-1。

總結

HDU 1408 是簡單浮點模擬題。關鍵在於正確理解「第 i 天蒸發 i 次」的邏輯,並用浮點類型避免精度問題。代碼極短,邏輯清晰。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved