黑色星期五Friday the Thirteenth
题目描述
13号又是一个星期五。13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数,N为正整数且不大于400.
这里有一些你要知道的:
1、1900年1月1日是星期一.
2、4,6,11和9月有30天.其他月份除了2月都有31天.闰年2月有29天,平年2月有28天.
3、年份可以被4整除的为闰年(1992=4*498 所以 1992年是闰年,但是1990年不是闰年).
4、以上规则不适合于世纪年。可以被400整除的世纪年为闰年,否则为平年。所以,1700,1800,1900和2100年是平年,而2000年是闰年.
请不要调用现成的函数
请不要预先算好数据(就是叫不准打表)!
输入输出格式
输入格式:
一个正整数n.
输出格式:
**输出请从周六开始
输入输出样例
20
36 33 34 33 35 35 34 有一种似曾相识的感觉。大体思路还是比较明确的,细节实现花了挺多的实现,month数组一开始没给month[0]赋值。。。卡了一会。
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define LL long long 4 int sum[8]; 5 int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; 6 bool judge(int x) 7 { 8 if((x%4==0&&x%100!=0)||(x%400==0)) return 1; 9 else return 0; 10 } 11 int main() 12 { 13 int n; 14 cin>>n; 15 int k=6; 16 for(int i=1;i<=n;++i) 17 { 18 if(i==1) sum[k]++; 19 else { 20 k=(k+(month[12])%7)%7==0?7:(k+(month[12])%7)%7; 21 sum[k]++; 22 } 23 int year=1900+i-1; 24 if(judge(year)) month[2]=29; 25 else month[2]=28; 26 for(int j=1;j<=11;++j) 27 { 28 k=(k+(month[j])%7)%7==0?7:(k+(month[j])%7)%7; 29 sum[k]++; 30 } 31 } 32 cout<<sum[6]<<" "<<sum[7]; 33 for(int i=1;i<=5;++i) 34 cout<<" "<<sum[i]; 35 }
View Code
转载于:https://www.cnblogs.com/Auroras/p/10868826.html
黑色星期五Friday the Thirteenth相关推荐
- USACO黑色星期五Friday the Thirteenth
黑色星期五Friday the Thirteenth 嗯,虽然很水,但细节是真的多. 我闰年判断错了而且while循环都忘了(伤心) 题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为 ...
- 黑色星期五 Friday The Thirteenth
黑色星期五 洛谷P1202 这是一道很奇怪的题 我做了一遍 不会 两天后 会了
- 洛谷P1202 [USACO1.1]黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- [USACO1.1]黑色星期五Friday the Thirteenth
https://www.luogu.org/problemnew/show/P1202 又学了一招重载++ /* *@Author: STZG *@Language: C++ */ #include ...
- 洛谷 P1202 模拟 - 黑色星期五 Friday the Thirteenth
[题目描述] 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+ ...
- USACO Training Section 1.1黑色星期五Friday the Thirteenth
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- 黑色星期五Friday the Thirteenth [USACO 1.2]
题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...
- 【from zero to zero】noip2017
from zero to zero 洛谷首页的倒计时不知道什么时候就变成了六字开头. 到底还是太弱了. 生病又拖了很多的时间. 听了很多的算法,自己写起来却非常困难. 也许要在累倒前做一些事情呢. 从 ...
- Friday the Thirteenth 黑色星期五
** Friday the Thirteenth 黑色星期五 ** 解题思路来自NOCOW 题目: 13 号又是星期五是一个不寻常的日子吗? 13 号在星期五比在其他日少吗?为了回答这个问题,写一个程 ...
最新文章
- Linux 文件属性
- MongoDB的安装和启动方法详解
- hadoop hive集群_失眠大数据专家,基于Hadoop不同版本搭建hive集群(附配置文件)
- java character类
- 关于Debug.exe
- 无线路由器天线上绑几个电池,真的会增强发射信号吗?
- Logistic逻辑回归用初等数学解读逻辑回归
- 华为手机什么时候更新鸿蒙系统_华为鸿蒙2.0系统什么时候可以用 华为鸿蒙2.0系统升级方法介绍[多图]...
- 静态网页的基本结构及标签
- php 时分秒选择联动,jquery.datepair日期时分秒选择器
- Typescript助力项目开发:JS切换TS、TS类型定制与思考
- centos 6.7 GRUB配置
- 外连接 及 无用的外连接
- C语言:浙大版《C语言程序设计(第3版)》题目集 习题5-6 使用函数输出水仙花数 (20 分)
- binder机制原理分析(一):ServiceManager 进程启动
- 图鉴| IT男什么时候最虚伪?
- 中国的研究生在“研究”什么
- 一个较为完备的 antd 可视化编辑器实现
- oracle服务器 驱动安装教程,oracle服务器 驱动安装
- 从土木工程转行到数据科学,这门课程改变了一切
热门文章
- js中的json对象和字符串之间的转化
- 拿到淘宝offer后的胡思乱想plus面试总结
- 线性时间选择问题——分治
- MySQL02-升级
- 构建一个react项目_您想要了解更多有关React的内容吗? 让我们构建一个游戏,然后玩。...
- 简单两行,实现无线WiFi共享上网,手机抓包再也不用愁了
- python scrapy菜鸟教程_scrapy学习笔记(一)快速入门
- CSS:当子元素皆浮动,撑开父元素的3种方式
- PAT(甲级)2018年冬季考试 7-2 Decode Registration Card of PAT
- selenium--iframe之模拟qq空间登录