【洛谷算法题】P5716-月份天数【入门2分支结构】

news/2024/6/23 20:29:22

花无缺

👨‍💻博客主页:@花无缺
欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 花无缺 原创

收录于专栏 【洛谷算法题】


文章目录

  • 【洛谷算法题】P5716-月份天数【入门2分支结构】
    • 🌏题目描述
    • 🌏输入格式
    • 🌏输出格式
    • 🌏样例 #1
      • 🌙样例输入 #1
      • 🌙样例输出 #1
    • 🌏样例 #2
      • 🌙样例输入 #2
      • 🌙样例输出 #2
    • 🌏提示
    • 🌏题解
    • 🌏总结


【洛谷算法题】P5716-月份天数【入门2分支结构】

题目链接:【深基3.例9】月份天数 - 洛谷

🌏题目描述

输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。

🌏输入格式

输入两个正整数,分别表示年份 y y y 和月数 m m m,以空格隔开。

🌏输出格式

输出一行一个正整数,表示这个月有多少天。

🌏样例 #1

🌙样例输入 #1

1926 8

🌙样例输出 #1

31

🌏样例 #2

🌙样例输入 #2

2000 2

🌙样例输出 #2

29

🌏提示

数据保证 1583 ≤ y ≤ 2020 1583 \leq y \leq 2020 1583y2020 1 ≤ m ≤ 12 1 \leq m \leq 12 1m12

🌏题解

public static void P5716() {Scanner in = new Scanner(System.in);// count 数组存储一年中每个月份的天数int[] count = {0,31,28,31,30,31,30,31,31,30,31,30,31};int year = in.nextInt(), month = in.nextInt();// 如果是闰年, 就将 count 中 2 月的天数改为 29 天if (isLeap(year)) {count[2] = 29;}System.out.println(count[month]);in.close();
}
// 判断年份是否是闰年
public static boolean isLeap(int y) {if (y % 400 == 0 || y % 100 != 0 && y % 4 == 0) {return true;}return false;
}

🌏总结

这个题要求我们求出某一年的某一个月有多少天,首先我们知道不管是哪一年,除了 2 月份的天数可能不一样之外,其他月份的天数都是固定的,所以我们只需要对 2 月份这个变量进行维护就可以了,首先我们将 12 个月的天数存储在一个数组 count 中,从下标 1 开始存储,这样就方便后面直接根据数组下标得出月份的天数,比如 1 月份的天数我们直接存储在下标为 1 的数组元素中,那么 count[1] 就是 1 月的天数。然后根据输入的年份判断该年是否是闰年,如果是闰年就将数组中 2 月份的天数改为 29 天,如果是平年,则是 28 天(默认值),然后根据数组下标和月份的对应关系,直接输入该月的天数。

作者:花无缺(huawuque404.com)


🌸欢迎关注我的博客:花无缺-每一个不曾起舞的日子都是对生命的辜负~
🍻一起进步-刷题专栏:【洛谷算法题】
💻Java题解同步仓库:https://github.com/huawuque404/Java-solution
🥇往期精彩好文:
📢【CSS选择器全解指南】
📢【CSS】CSS列表【CSS基础知识详解】
你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!


https://www.xjx100.cn/news/3118881.html

相关文章

智能手表上的音频(四):语音通话

上篇讲了智能手表上音频文件播放。本篇开始讲语音通话。同音频播放一样有两种case:内置codec和BT。先看这两种case下audio data path,分别如下图: 内置codec下的语音通话audio data path 蓝牙下的语音通话audio data path 从上面两张图可以看…

c++——string字符串____迭代器.范围for.修改遍历容量操作

在成为大人的路上喘口气. 目录 🎓标准库类型string 🎓定义和初始化string对象 💻string类对象的常见构造 💻string类对象的不常见构造 💻读写string对象 🎓 string类对象的修改操作 &#x1f4…

Adobe Illustrator绘图解决卡顿问题

最近在用AI做矢量图,但是遇到了一个很难搞的问题,当我们需要分辨率较高的图片的时候,Python用Matplotlib生成pdf时dpi参数会设置为600及以上,但这样的话就造成pdf文件过大以及AI卡顿两个问题,比如,下午生成…

实现一个高并发的Redis分布式锁

1. 无锁场景 下面是一个扣减库存逻辑, 由于查库存和扣减库存两个操作不是原子的,明显存在并发超卖问题 // 假设初始库存200GetMapping("/stock")public String stock(RequestParam(value "name", defaultValue "World") String name) {String…

C语言——实现一个计算m~n(m<n)之间所有整数的和的简单函数。

#include <stdio.h>int sum(int m, int n) {int i;int sum 0;for ( i m; i <n; i){sum i;}return sum;}int main() { int m, n;printf("输入m和n&#xff1a;\n");scanf("%d,%d", &m, &n);printf("sum %d\n", sum(m, n)…

大数据学习(26)-spark SQL核心总结

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…

详解原生Spring当中的额外功能开发MethodBeforeAdvice与MethodInterceptor接口!

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…

PTApt——2023年软件设计综合实践_7(数据结构)

6-1 递增的整数序列链表的插入 本题要求实现一个函数&#xff0c;在递增的整数序列链表&#xff08;带头结点&#xff09;中插入一个新整数&#xff0c;并保持该序列的有序性。 答案&#xff1a; 语言选C(gcc) List Insert(List L, ElementType X) {List tmp (List) mal…