初始鹽水體積 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 次」的邏輯,並用浮點類型避免精度問題。代碼極短,邏輯清晰。