ZeroJudge A248: 新手訓練 ~ 陣列應用

題目敘述

題目採EOF輸入測資,每行有三個正整數a、b、N。要求輸出 a/b 的運算結果並且計算到小數點第N位。第N位以後無條件捨去。

範例輸入

18467 41 10

26500 6334 10

15724 19169 10

10 5 3

範例輸出

450.4146341463

4.1837701294

0.8202827481

2.000

解題思路

本題如使用cin需先優化避免超時。輸出完整數的答案後跑For迴圈跑到第N位進行計算並輸出計算結果。

解題程式碼如下 (僅供參考):

#include <iostream>
using namespace std;

int main() {
    cin.sync_with_stdio(0);
    cin.tie(nullptr);
    int a, b, N;
    while (cin >> a >> b >> N)
    {
        cout << a/b << ".";
        for (int i = 0; i<N; i++)
        {
            a %= b;
            a *= 10;
            cout << a/b;
        }
        cout << "\n";
    }
}

留言

這個網誌中的熱門文章

ZeroJudge M933: 邏輯電路

ZeroJudge A148: You Cannot Pass?!

ZeroJudge A263: 日期差幾天