题目

有些西方人比较迷信,如果某个月的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: 黑色星期五相关推荐

  1. HDU 6112黑色星期五 蓝桥基拉姆森公式

    若某个月13号恰好是星期五,则这一天被称为黑色星期五.已知某年的一月一日是星期w,并且这一年是闰年, 求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字.(w=1..7)输入输入有多 ...

  2. ZOJ POJ题目分类

    ZOJ题目分类 初学者题:1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 13 ...

  3. BZOJ 1609 [Usaco2008 Feb]Eating Together麻烦的聚餐:LIS LDS (nlogn)

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1609 题意: 给你一个只由数字"1,2,3"组成的序列a[i],共n个 ...

  4. 二叉树层序遍历(广度优先搜索)基础概念与经典题目(Leetcode题解-Python语言)

    二叉树的广度优先搜索即从上到下.从左到右地进行搜索,对于层序遍历(Level Order)问题,即依次遍历第一层节点.第二层节点-等,基本可以秒杀. 广度优先搜索是通过队列来实现的,python中优先 ...

  5. (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目

    POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...

  6. leetcode题目整理

    1.面试先说出最简单的方法,然后在继续优化,不要想复杂,先暴力解决 2.理解问题,和面试交流题意 3.注意边界条件 4.不着急 一.二分 33.搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 ...

  7. ACM题目和培养训练!!!

    ACM大量习题题库 ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge.除了USACO是为IOI准备外,其余几乎全部是大学的ACM竞赛题库. USACO ht ...

  8. HDOJ题目分类大全

    版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...

  9. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

最新文章

  1. the different between Const and Static in C++
  2. c/c++内存机制(一)(原)
  3. PHPer 面试指南 扩展阅读资源整理
  4. 【ARM】异常产生指令
  5. JAVA中小细节(易忽视和易错点)
  6. fileinputstream_从Java中的FileInputStream读取字节
  7. mysql 优化关键字_Mysql之Explain关键字及常见的优化手段
  8. Makefile:Makefile中的调试打印方法
  9. [总结]RTMP流媒体技术零基础学习方法
  10. PHP的php://input和$HTTP_RAW_POST_DATA 和$_POST的关系
  11. C语言:求矩阵非对角线元素的和
  12. Cisco IOS Rootkit工具该怎么写
  13. 点云配准1:配准基础及icp算法
  14. 小白功能测试项目实战篇01-dtsshop开源商城项目之【会员管理】模块测试点分析
  15. C# LeetCode刷题 - LeetCode 148. Sort List 解题报告(归并排序小结)
  16. MySQL数据库管理系统是什么_什么是数据库管理系统?
  17. 用 python+tkinter+有道云API 写一个自用的背单词软件
  18. TC8:UDP_MessageFormat_01-02
  19. 力扣347 前 K 个高频元素 -- JS
  20. 虚拟机安装系统的网络配置问题(Contos7版)

热门文章

  1. 为什么会有大端/小端之分?(众说纷纭)
  2. 赢在项目工具的落地-讲师团俊平老师主讲
  3. 学术论文中常用简写(缩写)汇总
  4. 阿诺德·施瓦辛格的演讲(拼命才会优秀,自律才会自由~)
  5. 开源打通版-发布商品
  6. 浅谈程序员的行业选择---程序人生
  7. mac——清理磁盘空间
  8. 书论55 郝经《移诸生论书法书》
  9. Plotly学习 3D三维轴的设置
  10. Nao机器人运行B-human代码之基础篇