けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 168 A - ∴ (Therefore) (灰色, 100 点)

ちょっと一見面倒な問題。

問題概要

999 以下の正の整数  N が与えられる。

解法

 N の一の位の値は N % 10 で取得できる。この値を調べればよい。

ここで、コツとして、if-else 文の最後の else のところが最も面倒なものが来るようにしよう。ここでは、"hon" を else に押し付けよう。

#include <bits/stdc++.h>
using namespace std;

int main() {
    int N;
    cin >> N;
    
    N %= 10;  // 一の位の値にする
    if (N == 3)
        cout << "bon" << endl;
    else if (N == 0 || N == 1 || N == 6 || N == 8)
        cout << "pon" << endl;
    else
        cout << "hon" << endl;
}