题目 1609: 黑色星期五
题目
有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是13号又是星期五的情形,以帮助你的迷信朋友解决难题。
说明:(1)一年有365天,闰年有366天,所谓闰年,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的年份;(2)已知1998年1月1日是星期四,用户输入的年份肯定大于或等于1998年。
输入
输入只有一行,即某个特定的年份(大于或等于1998年)。
输出
输出只有一行,即在这一年中,出现了多少次既是13号又是星期五的情形。
样例输入
1998
样例输出
3
解题思路
首先根据1998年到(n-1)年中间间隔的天数对7取模的值,计算n年的1月1日是周几;再遍历n年的每一个13日,判断是否是周五,若是,则是“倒霉日”,最后输出“倒霉日”的个数即可。
易错点
本题特别给出了闰年的定义,除了平时常用的“能被4整除且不能被100整除的年份”,还有“既能被100整除也能被400整除的年份”,故两者都需要写入代码。
代码
#include<stdio.h>
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{int y,i,num=0;int temp,days = 0;scanf("%d",&y);for (i=1998;i<y;i++){if ((i%4==0 && i%100!=0) || (i%100==0 && i%400==0))//闰年:能被4整除且不能被100整除的年份// 或是既能被100整除也能被400整除的年份temp = 366;elsetemp = 365;days+=temp;//避免超出int范围days%=7;}for (i=1;i<=12;i++)//遍历当年的每一个月{days+=12;//13号if (days%7==1)num++;days = (days-12+month[i-1])%7;if (i==2 && ((y%4==0 && y%100!=0) || (y%100==0 && y%400==0)))//闰年2月days++;}printf("%d",num);return 0;
}
题目 1609: 黑色星期五相关推荐
- HDU 6112黑色星期五 蓝桥基拉姆森公式
若某个月13号恰好是星期五,则这一天被称为黑色星期五.已知某年的一月一日是星期w,并且这一年是闰年, 求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字.(w=1..7)输入输入有多 ...
- ZOJ POJ题目分类
ZOJ题目分类 初学者题:1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 13 ...
- BZOJ 1609 [Usaco2008 Feb]Eating Together麻烦的聚餐:LIS LDS (nlogn)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1609 题意: 给你一个只由数字"1,2,3"组成的序列a[i],共n个 ...
- 二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)
二叉树的广度优先搜索即从上到下.从左到右地进行搜索,对于层序遍历(Level Order)问题,即依次遍历第一层节点.第二层节点-等,基本可以秒杀. 广度优先搜索是通过队列来实现的,python中优先 ...
- (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目
POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...
- leetcode题目整理
1.面试先说出最简单的方法,然后在继续优化,不要想复杂,先暴力解决 2.理解问题,和面试交流题意 3.注意边界条件 4.不着急 一.二分 33.搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 ...
- ACM题目和培养训练!!!
ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...
- HDOJ题目分类大全
版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...
- HDU题目分类大全【大集合】
基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.105 ...
最新文章
- the different between Const and Static in C++
- c/c++内存机制(一)(原)
- PHPer 面试指南 扩展阅读资源整理
- 【ARM】异常产生指令
- JAVA中小细节(易忽视和易错点)
- fileinputstream_从Java中的FileInputStream读取字节
- mysql 优化关键字_Mysql之Explain关键字及常见的优化手段
- Makefile:Makefile中的调试打印方法
- [总结]RTMP流媒体技术零基础学习方法
- PHP的php://input和$HTTP_RAW_POST_DATA 和$_POST的关系
- C语言:求矩阵非对角线元素的和
- Cisco IOS Rootkit工具该怎么写
- 点云配准1:配准基础及icp算法
- 小白功能测试项目实战篇01-dtsshop开源商城项目之【会员管理】模块测试点分析
- C# LeetCode刷题 - LeetCode 148. Sort List 解题报告(归并排序小结)
- MySQL数据库管理系统是什么_什么是数据库管理系统?
- 用 python+tkinter+有道云API 写一个自用的背单词软件
- TC8:UDP_MessageFormat_01-02
- 力扣347 前 K 个高频元素 -- JS
- 虚拟机安装系统的网络配置问题(Contos7版)