公式

A - Leap Year 解説 by nok0


初心者の方へ

if 文を用いて問題文中の場合分けを実装しましょう。 \(x\)\(y\) で割り切れるかの判定は、x % y == 0 かを確認することで行えます。ここで、x % y\(x\)\(y\) で割ったあまりで、% はあまりを求める演算子です。

\(x\)\(y\) で割り切れるときに限り \(x\)\(y\) で割ったあまりは \(0\) となるので、上のコードで割り切れるかの判定ができます。

今回の場合、if 文が複数になり、書き方によってはネストが深くなってしまいます。その場合、条件を満たす場合すぐに出力して return をすることで、深いネストを回避することができます。

実装例 (C++):

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

int main() {
    int y;
    cin >> y;
    if(y % 4) {
        cout << 365 << endl;
        return 0;
    }
    if(y % 100) {
        cout << 366 << endl;
        return 0;
    }
    if(y % 400) {
        cout << 365 << endl;
        return 0;
    }
    cout << 366 << endl;
    return 0;
}

投稿日時:
最終更新: