南邮-1008-第几天

2024-05-26 00:48
文章标签 南邮 1008 第几天

本文主要是介绍南邮-1008-第几天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


时间限制(普通/Java)
 :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 2076            测试通过 : 599 

题目描述

在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100不是闰年,而 1600, 2000 和 2400是闰年。

给定公元2000年1月1日后的某年某月某日(包括2000年1月1日),你的任务:(1)给出这一天从公元2000年1月1日开始逝去的天数,(2)判断这一天是当年的第几天。



输入

输入包含若干行,每行包含三个空格间隔的正整数,它们分别表示年、月、日。输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。

输出

多组,每组两行,分别为每行输入所代表的一天从公元2000年1月1日开始逝去的天数、在当年的第几天。

样例输入

2000 1 1
2009 3 14
-1

样例输出

0
1
3360
73

题目来源

NUPT

代码:
#include<iostream>
using namespace std;
int getDays(int month,int day,int year)
{int sum=0;for(int i=1;i<month;i++){if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){sum+=31; }else if(i==4||i==6||i==9||i==11){sum+=30; }else if(i==2){if((year%4==0&&year%100!=0)||year%400==0){sum+=29; } else{sum+=28; }}}sum+=day;return sum;
}
int main()
{int startYear=2000;int year,month,day;int sum,count;while(cin>>year&&year!=-1){cin>>month>>day;sum=0;count=0;startYear=2000;if(year-startYear>0){while(startYear<year){if((startYear%4==0 && startYear%100!=0) || startYear%400==0){sum+=366;}else{sum+=365; }startYear++;}}count=getDays(month,day,year);sum+=count;cout<<--sum<<endl;cout<<count<<endl;                }return 0;    
}


这篇关于南邮-1008-第几天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003086

相关文章

JD 1008:最短路径问题

OJ题目:click here~~ 题目分析:无向图,每条边有长度和花费,求点s到t的最短路径长度和花费。若有相同的最短路径长度,找出最少的花费的那条。 邻接表 + Dijstra + 优先队列 AC_CODE const int maxn = 1008 ;const int inf = 1<<30 ;vector<int> g[maxn] ;int len[maxn][maxn

Calendar 获得当前日期是这一年的第几天

本文来源于:http://www.iteye.com/problems/40920 0 calendar 日历字段区别10 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");     Calendar cal1=Calendar.getInstance();            cal1.se

HDU 1008(水题)

题意:给一个数n,后跟着n个数,代表电梯要到的层数,如果是上升,则每层花费6分钟,下降每层划分4分钟,停着话费5分钟,求电梯总共花费多少时间。   #include <iostream>using namespace std;void main(){int n, m, t, total;while (cin >> n && n != 0){m = 0;total = 0;wh

Python小练习:输入某年某月某日,判断这一天是这一年的第几天?

题目:输入某年某月某日,判断这一天是这一年的第几天? def date_days(): try:year = int(input("请输入年份:"))mon = int(input("请输入年份:"))date = int(input("请输入年份:"))except:print("输入数值类型,谢谢")date_dict_ping = {1: 31, 2: 28, 3: 31, 4: 3

python-今年第几天

[题目描述] 定义一个结构体变量(包括年、月、日)。 计算该日在本年中是第几天,注意闰年问题。输入格式: 年   月   日。输出格式: 当年第几天。样例输入 2000 12 31样例输出 366 数据范围 对于100%的数据,保证日期合法 。来源/分类(难度系数:一星) 完整代码展示: a,b,c=map(int,input().split()) d=[31,29,31,30,31,30,31

每日一题——4行Python代码实现PAT乙级1008 数组元素循环右移问题(举一反三+思想解读+逐步优化)四千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 ​编辑我的写法 代码功能 时间复杂度分析 空间复杂度分析 总结 我要更强 方法一:使用循环移位 方法二:使用Python的deque 方法三:使用列表切片和拼接 总结 哲学和编程思

leetcode 一年中的第几天

一年中的第几天 https://leetcode-cn.com/problems/day-of-the-year/ //判断平年还是闰年int isLearYear(int year) {return (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? 1 : 0;}int dayOfYear(char * date){//

奋战杭电ACM(DAY5)1008

被前两题虐身虐心后看到这题简直难以置信,怎么可以这么水!!一次AC不解释!!难道老师是故意放这么道水题来安慰我们受伤的小心灵?? Elevator #include <iostream>using namespace std;int main(){int N,i,time;while(cin >> N){if(N==0)break;else{int *q = new int[N+1

【PAT】【Advanced Level】1008. Elevator (20)

1008. Elevator (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The highest building in our city has only one elevator. A request list is made

hodj 1008 Elevator (模拟题)

个人写的代码不够简洁,而且在处理这种多循环的代码时,每次循环时变量没有重新赋值为0,造成了调试了好几次代码才通过,这是不应该的。在这次代码中,time和current都没有重新赋值为0,下回应该注意。还要网友在代码中对题目的中时间常量进行了赋值,这一点很好,要学习。 代码如下: #include <iostream>#include <algorithm>#include <string>