1 条题解

  • 0
    @ 2025-8-24 21:16:18

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar ShiRoZeTsu
    AFOed

    搬运于2025-08-24 21:16:17,当前版本为作者最后更新于2024-05-20 16:54:06,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Source & Knowledge

    2024 年 5 月语言月赛,由洛谷网校入门计划/基础计划提供。

    题目大意

    给定一些真闰年的判定条件,请你判断一个年份是否是真闰年

    题目分析

    这题相当于是判断闰年的加强版。由于判断真闰年的条件有很多,我们考虑使用分支语句。

    阅读题面可知,如果一个年份 yy真闰年,那么一定满足以下条件之一:

    • 44 的倍数,但不是 100100 的倍数;
    • 400400 的倍数,但不是 32003200 的倍数;
    • 172800172800 的倍数。

    所以,我们可以开一个 bool 类型的变量 ok,表示这个年份是否是真闰年,初始将 ok 赋值为 false

    bool ok = false;
    

    然后读入年份 yy,用分支语句分别判断以上三个条件,满足其中一个条件就将 ok 赋值为 true

    int y;
    cin >> y;
    //y 是 4 的倍数,等价于 y 对 4 取余为 0,其余同理
    if(y%4 == 0 && y%100 != 0) ok = true;
    else if(y%400 == 0 && y%3200 != 0) ok = true;
    else if(y%172800 == 0) ok = true;
    

    最后判断 ok 是否为 true,就能知道 yy 是否是真闰年了:

    if(ok) cout << "Yes\n";
    else cout << "No\n";
    

    视频讲解

    • 1

    信息

    ID
    10120
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者