刷CCF的算法题(第十天)
来源:互联网 发布:网络信息安全宣传标语 编辑:程序博客网 时间:2024/05/01 10:26
试题编号:201509-2试题名称:日期计算时间限制:1.0s内存限制:256.0MB问题描述:
问题描述
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
注意闰年的2月有29天。满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍。
输入格式
输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
输入的第二行包含一个整数d,d在1至365之间。
输入的第二行包含一个整数d,d在1至365之间。
输出格式
输出两行,每行一个整数,分别表示答案的月份和日期。
样例输入
2015
80
80
样例输出
3
21
21
样例输入
2000
40
40
样例输出
2
9
9
我的代码如下:
#include <bits/stdc++.h>using namespace std;int main() { int leap[12]={31,29,31,30,31,30,31,31,30,31,30,31};int general[12]={31,28,31,30,31,30,31,31,30,31,30,31};int year, month = 1, day, date = 1, i;cin >> year >> day;if ((year%4==0 && year%100!=0) || year%400==0) { for (i = 0; i < 12; ++i) { day = day - leap[i]; if (day <= 0) { month = i + 1; date = day + leap[i]; break; } }} else { for (i = 0; i < 12; ++i) { day = day - general[i]; if (day <= 0) { month = i + 1; date = day + general[i]; break; } }}cout << month << endl << date; return 0;}
阅读全文
0 0
- 刷CCF的算法题(第十天)
- 刷CCF的算法题(第十一天)
- 刷CCF的算法题(第二天)
- 刷CCF的算法题(第十二天)
- 刷CCF算法题(第四天)
- 刷CCF的算法题(第一天)
- 刷CCF的算法题(第三天)
- 刷CCF的算法题(第五天)
- 刷CCF的算法题(第七天)
- 刷CCF的算法题(第八天)
- 坚持了半个月刷CCF的算法题(第十四天)
- 第十次CCF
- CCF CSP 第十次 第四题 地铁修建 JAVA版
- 第十四周算法题
- 第十次ccf 地铁修建
- 第十次ccf 分蛋糕
- 第十次ccf 学生排队
- 2016CCF、CSP 第二题铁路购票系统的简单座位分配算法(JAVA版)
- 日夜间模式+文字+图片切换
- PDF文档如何添加图片签名
- 封装好的一个的Toast工具类(可以直接调用)
- 直键开关接线流程
- char数组 、char指针与字符串常量的比较
- 刷CCF的算法题(第十天)
- window和linux tomcat logback部署catalina.out按日期大小分割
- 存储管理技术--连续分配
- 完整java开发中JDBC连接数据库代码和步骤
- iOS监听耳机插拔的不使用系统通知实现的一种方式
- 记录一些工具
- 剑指offer-把二叉树打印成多行
- 小程序文档整理之 -- 列表渲染
- 【算法】字符串的全排列和组合算法