入门 · 布尔逻辑

闰年

日历的规矩:能被 4 整除,世纪年除外,除非能被 400 整除。一个布尔表达式定乾坤——世纪情况是陷阱。

题目

输入:一个年份 y(1600 ≤ y ≤ 3000)。

输出:闰年输出 Yes,否则 No。

样例:

输入输出
2024Yes
1900No
2000Yes

你的解答

Program.cs — 你的解答
"用我的输入试跑"的自定义输入

判题完全在你的浏览器里对隐藏测试运行。代码随打随存(本地)。Ctrl+Enter 判题。

卡住了?提示

提示 1 —— 用人话说规则

闰年 = 能被 4 整除 且 不能被 100 整除,或 能被 400 整除。字面上就是一个带 && 和 || 的布尔表达式。

提示 2 —— 陷阱

1900 能被 4 整除但不是闰年;2000 能被 400 整除所以是。如果你的代码只查 y % 4 == 0,两个隐藏测试都会挂。

解答(先自己试!)
int y = int.Parse(Console.ReadLine());
bool leap = (y % 4 == 0 && y % 100 != 0) || (y % 400 == 0);
Console.WriteLine(leap ? "Yes" : "No");

布尔运算符拼出一条真实世界的规则——第 3 课的素材。下一题:反转数字。