首页 > 其他分享 >洛谷:P5716日份天数

洛谷:P5716日份天数

时间:2023-04-22 20:00:39浏览次数:36  
标签:洛谷 int 样例 日份 leq P5716 a% rn day

题目描述

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

输入格式

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

输出格式

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

样例 #1

样例输入 #1

1926 8

样例输出 #1

31

样例输入 #2

2000 2

样例输出 #2

29

提示

数据保证 \(1583 \leq y \leq 2020\),\(1 \leq m \leq 12\)。

以下是答案

#include <iostream>
using namespace std;

//判断是否闰年
int rn(int a){  
	return a%400==0||a%4==0&&a%100!=0;
}

int main(){
    int y,m,d;
    int day;
    cin>>y>>m;
    //判断月份
    if(m == 2 && rn(y)){
        day = 29;
        cout<<day;
    }
    if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
        day = 31;
        cout<<day;
    }
    if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){
        day = 30;
        cout<<day;
    }
    else{
        day = 28;
        cout<<day;
    }
    return 0;
}

之后WA了
image

这才是正确的写法!!!

#include <iostream>
using namespace std;

//判断是否闰年
int rn(int a){  //是闰年
	return a%400==0||a%4==0&&a%100!=0;
}

int main(){
    int y,m,d;
    int day;
    cin>>y>>m;
    //判断月份
    if(m == 2){
    	if(rn(y)){
    		day = 29;
        	cout<<day;
		} 
		else{
			day = 28;
			cout<<day;
		}       
    }
    if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
        day = 31;
        cout<<day;
    }
    if(m == 4 || m == 6 || m == 9 || m == 11){
        day = 30;
        cout<<day;
    }
    return 0;
}

不错!AC了
image

标签:洛谷,int,样例,日份,leq,P5716,a%,rn,day
From: https://www.cnblogs.com/hujiaohuxue8-bilibili/p/luoguP5716.html

相关文章

  • 洛谷 P1007 独木桥
    题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳 11 个人通过。假如有 2......
  • 洛谷 P8456 -「SWTR-8」地地铁铁(图论+结论)
    挺有意思的结论题,结论的证明比较复杂。据出题人说他大概想了几天几夜才证出来,所以本篇题解并不详细给出结论证明,如果有兴趣可以自己去看出题人的题解:https://www.luogu.com.cn/blog/AlexWei/solution-p8456。首先涉及到简单路径,肯定往双连通分量的方向思考。因此我们首先建出圆方......
  • 洛谷P1249最大乘积,数论找规律
    最大乘积题目描述一个正整数一般可以分为几个互不相同的自然数的和,如\(3=1+2\),\(4=1+3\),\(5=1+4=2+3\),\(6=1+5=2+4\)。现在你的任务是将指定的正整数\(n\)分解成若干个互不相同的自然数的和,且使这些自然数的乘积最大。输入格式只一个正整数\(n\),(\(3\leqn\leq10000\))。......
  • 洛谷P5494 【模板】线段树分裂
    传送门  需要的前置知识:线段树合并。  感觉会了线段树合并这个就很简单,线段树分裂就是在把一颗权值线段树值域在[x,y]的区间分裂出来单独成一个线段树,那么我们只需要从新树q和旧树p的根节点一起走,如果走到当前p被[x,y]完全包含的路径就把p的编号给q,并且把p改为0就行了,注意......
  • 洛谷 p1102 A-B数对
    题目背景出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的A+BProblem,改用A-B了哈哈!题目描述给出一串正整数数列以及一个正整数 C,要求计算出所有满足A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。输入格式输入共两行。......
  • 洛谷P7492 [传智杯 #3 决赛] 序列 题解 数列分块
    题目链接:https://www.luogu.com.cn/problem/P7492解题思路:分块。解题思路全部来自yzy1大佬的博客额外掌握技能:编译时加入-Wall参数。示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+5;intn,m,blo,//n表示数列长度,m表......
  • 洛谷T226686 长度为2的子串
    题目描述给你一个长度为n 的由大写的英文字母组成的字符串,请你找出出现频率最高的长度为2的子串。输入格式包括两行。第一行是一个正整数n,表示字符串长度。第二行是长度为n的大写英文字母组成的字符串。(2<=n<=100)输出格式包括一行。一个长度为2的字符串,该字符串为输入......
  • 【rmq】洛谷P7333
    题目:P7333[JRKSJR1]JFCA-洛谷|计算机科学教育新生态(luogu.com.cn)分析:用rmq处理出各个区间长度的最大值,然后在二分区间长度找到答案(最开始想的是开长度为n的数组,对位置i的数,分别找1-(i-1)和(i+1)-n中的离i最近满足条件的位置,然后更新结果,但一直wa,还没找到问题,存疑吧)代码:......
  • 洛谷 P3292 [SCOI2016]幸运数字
    https://www.luogu.com.cn/problem/P3292多次询问求一条链取若干点的最大异或和考虑一个集合的最大异或和可以求出线性基完成,两个集合的线性基可以合并,但是线性基并没有可减性,于是我们求lca的时候只能每次往集合里添加一条链,为了保证复杂度只能用倍增做。std::vector<i64>......
  • w1 洛谷T233243
      主要思路就是计算每一个长度为2的子串出现的次数,计数的同时用数组记录次数,打擂台找到出现次数最多的子串,首字符出现的位置就是数组的下标。最后输出出现最多的子串。代码如下:#include<bits/stdc++.h>usingnamespacestd;intcnt[100];intmain(){ intn,max=-1; ......