题目分析

本题要求根据给定的闰年判断规则,判断输入的年份是否为闰年。题目明确给出了三条规则,按优先级从高到低排列:

  1. 能被 400 整除 → 闰年
  2. 否则,能被 4 整除但不能被 100 整除 → 闰年
  3. 否则 → 不是闰年

解题思路

这属于典型的条件判断问题,使用 if-else 语句按照题目给出的优先顺序判断即可。

关键点

  • 优先级:先判断 % 400 == 0,再判断 % 4 == 0 && % 100 != 0
  • 逻辑运算符:使用 ||(或)和 &&(与)组合条件
  • 输出格式:严格输出 "yes" 或 "no"(小写)

下面是代码

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    
    if ((n % 400 == 0) || (n % 4 == 0 && n % 100 != 0)) {
        cout << "yes" << endl;
    } else {
        cout << "no" << endl;
    }
    
    return 0;
}

下面还有一个优化

if ((n % 400 == 0) || (n % 4 == 0 && n % 100 != 0)) {
    cout << "yes" << endl;
} else {
    cout << "no" << endl;
}