ホグワーツ魔法魔術学校でのPAT(上級レベル)実践1058 A + B(20分)

あなたはハリーポッターのファンなら、あなたは魔法の世界は独自の通貨制度を持って知っているだろう - ハグリッドがハリーにそれを説明するように、「ガレオン船と鎌に二十から九Knutsに十七銀シックルズは、それは簡単には十分です。」あなたの仕事は、計算するプログラムを書くことです A + B A + B 場所 A A B B 標準的な形で与えられるGalleon.Sickle.KnutGalleon整数であります [ 0 1 0 7 ] [0,10 ^ 7] Sickle[0、17)の整数であり、Knut)、[0、29)の整数です。

入力仕様:

各入力ファイルは行を占有する一つのテストケースが含まれています A A B B つのスペースで区切られた標準的な形態で、。

出力仕様:

各テストケースのためにあなたは、出力の合計をすべき A A B B 入力と同じ形式の一行で、。

サンプル入力:

3.2.1 10.16.27

サンプル出力:

14.1.28

問題の意味

お金与えられた二つのグループの代表者の特定の数は、お金とこれら2つのグループを見つけます。

コード

#include <cstdio>

struct m {
    int g, s, k;
};

int main() {
    m a, b;

    scanf("%d.%d.%d %d.%d.%d",
          &a.g, &a.s, &a.k,
          &b.g, &b.s, &b.k);

    a.g += b.g;
    a.s += b.s;
    a.k += b.k;

    if (a.k >= 29) {
        a.s += a.k / 29;
        a.k %= 29;
    }

    if (a.s >= 17) {
        a.g += a.s / 17;
        a.s %= 17;
    }

    printf("%d.%d.%d", a.g, a.s, a.k);
}
公開された184元の記事 ウォン称賛19 ビュー20000 +

おすすめ

転載: blog.csdn.net/Exupery_/article/details/104159084