博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蓝桥杯 算法提高 日期计算
阅读量:5843 次
发布时间:2019-06-18

本文共 1275 字,大约阅读时间需要 4 分钟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  
算法提高 日期计算 
时间限制:1.0s   内存限制:256.0MB
     
问题描述
  已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。
输入格式
  输入只有一行
  YYYY MM DD
输出格式
  输出只有一行
  W
数据规模和约定
  1599 <= YYYY <= 2999
  1 <= MM <= 12
  1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期
  1 <= W <= 7,分别代表周一到周日
样例输入
2011 11 11
样例输出
5

c++:

1 #include
2 #include
3 #include
4 using namespace std; 5 6 int a[2][13]={
{
0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},{
0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}; 7 8 bool isRun(int year){//判断是否为闰年 9 if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)10 return true;11 return false;12 }13 14 int calDay(int year){15 int index = 0;16 if(!isRun(year)) index = 1;17 int tot = 0;18 for(int i=1; i<=12; ++i)19 tot += a[index][i];20 return tot;21 }22 23 int Day(int y, int m, int d){
//计算从0年0月0日到y年m月d日的时间天数 24 int ans = 0;25 for(int i=1; i
>y>>m>>d;38 int diff = Day(y, m, d) - Day(2011, 11, 11);//已知2011-11-11这一天是星期5 39 if(diff > 0) cout<<(4+diff%7)%7+1<
本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/4395845.html,如需转载请自行联系原作者
你可能感兴趣的文章
C#发现之旅第十一讲 使用反射和特性构造自己的ORM框架
查看>>
SPOJ 1182 Sorted bit squence
查看>>
谈谈android的类xp Ghost时代
查看>>
使用Filter跟踪Asp.net MVC页面加载时间
查看>>
python学习(五)列表
查看>>
使用GHOST对Windows操作系统进行备份和还原
查看>>
KMeans (K均值)算法讲解及实现
查看>>
23种设计模式之装饰者模式
查看>>
为什么不应该使用Zookeeper做服务发现?(转载)
查看>>
Vue源码探究-类初始化函数详情
查看>>
Docker 数据管理
查看>>
什么是最适合云数据库的架构设计?
查看>>
【前端工程师手册】30分钟看懂函数防抖和节流
查看>>
JavaScript-面试
查看>>
Java 内部类(10)
查看>>
Python模块
查看>>
系统优化怎么做-开篇
查看>>
js原型链
查看>>
《CSS世界》笔记三:内联元素与对齐
查看>>
【开源】Tsar——灵活的系统和应用采集软件
查看>>