C++描述 1341. 十三号星期五

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页

本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!!
若需联系博主,可以联系本人微信:qiguanjie2015


题目

十三号星期五真的很不常见吗?

每个月的十三号是星期五的频率是否比一周中的其他几天低?

请编写一个程序,计算 N 年内每个月的 13 号是星期日,星期一,星期二,星期三,星期四,星期五和星期六的频率。

测试的时间段将会开始于 1900 年 1 月 1 日,结束于 1900+N−1 年 12 月 31日。

一些有助于你解题的额外信息:

  1. 1900 年 1 月 1 日是星期一。
  2. 在一年中,4 月、6 月、9 月、11 月每个月 30 天,2 月平年 28 天,闰年 29 天,其他月份每个月31天。
  3. 公历年份是 4 的倍数且不是 100 的倍数的年份为闰年,例如 1992 年是闰年,1990 年不是闰年。
  4. 公历年份是整百数并且是 400 的倍数的也是闰年,例如1700年,1800年,1900年,2100年不是闰年,2000年是闰年。

输入格式

共一行,包含一个整数 N。

输出格式

共一行,包含七个整数,整数之间用一个空格隔开,依次表示星期六,星期日,星期一,星期二,星期三,星期四,星期五在十三号出现的次数。

数据范围

1≤N≤400,

输入样例:

20

输出样例:

36 33 34 33 35 35 34

题解思路

采用模拟法,从1900年1月1日开始,每过一天,记录周几,如果是当月13号,则记录13号是周几。

算法实现

#include<iostream>
using namespace std;
int n;
int temp = 0;// 当前周几
int month[] = {31,28,31,30,31,30,31,31,30,31,30,31};
int ans[7] = {0};int check(int y,int m){if(m != 1)return 0;if((y % 4 == 0 && y % 100 !=0) || y % 400 == 0)return 1;elsereturn 0;
}int main(){cin >> n;// 模拟法for(int i = 0 ; i < n; i ++){// 年int year = 1900 + i;for(int j = 0; j < 12; j++){// 月for(int k = 0; k < month[j] + check(year,j); k++){if(k == 12){// 13号时ans[temp]++;}// 更新当前周几temp = (temp + 1) % 7;}}}// 注意输出是 六、日、1 2 3 4 5的顺序cout << ans[5] << " " << ans[6] << " " << ans[0] << " " << ans[1] << " " << ans[2] << " " << ans[3] << " " << ans[4] ; return 0;
}

C++描述 1341. 十三号星期五相关推荐

  1. 寒假每日一题题解(1.20)十三号星期五

    十三号星期五 十三号星期五真的很不常见吗? 每个月的十三号是星期五的频率是否比一周中的其他几天低? 请编写一个程序,计算 N 年内每个月的 13 号是星期日,星期一,星期二,星期三,星期四,星期五和星 ...

  2. 顾客银行办理业务时,首先在取号机上取号,然后坐在椅子上等候业务员叫号时前往窗口办理业务,假设银行现在有3个窗口可办理业务,请采用信号量和PV操作描述顾取号等候叫号和银行业务员叫号办理业务的同步操作。

    顾客银行办理业务时,首先在取号机上取号,然后坐在椅子上等候业务员叫号时前往窗口办理业务,假设银行现在有3个窗口可办理业务,请采用信号量和PV操作描述顾取号等候叫号和银行业务员叫号办理业务的同步操作. ...

  3. 互联网晚报 | 11月8日 星期一 | 美团外卖公开“订单分配”算法规则;英雄联盟首部动画剧集上线;神舟十三号航天员首次出舱...

    今日看点 ✦ 神舟十三号航天员乘组圆满完成首次出舱活动全部既定任务 ✦ 微信视频号公布MCN招募计划:最高10万元奖励 ✦ 美团外卖公开"订单分配"算法规则,推出"主动改 ...

  4. C# NX二次开发:通过UFUN函数获取刀具描述,目录号,库号等信息

    今天要将的是,在NX中对CAM模块进行二次开发的时候,往往需要获取一些关于刀具使用的信息,这些信息用NXOPEN的的方法录制也可以录制出来,但是录制出来的代码,往往都是一种刀具类型会出现一个Build ...

  5. 十二月十三号作业驱动作业

    成功移植内核源码 开发板可以挂在linux操作系统 添加led驱动到内核源码drivers/char目录下 打开linux内核源码进入drivers/char目录下打开Kconfig文件,对Kconf ...

  6. 好莱坞系列电影全扫描

    好莱坞系列电影全扫描 作者/供稿 :小语清风 电影拍续集向来是好莱坞的优良传统,但有动力拍到第三集,第四集...,成为一部系列电影,这时它就基本上可以载入影史,成为经典了.  几点说明:      为 ...

  7. 生物信息tech-Gene Ontology中如何根据GO号查找对应的生物学描述

    大家在解析blast2go或者其他GO注释工具返回的结果时,发现有时只有对生物过程的描述或GO号,那么如何查看两者的对应关系呢,我们可以登录GO网站go.obo(下载地址:http://purl.ob ...

  8. 2017年5月5号课堂笔记

    2017年5月5号 星期五 沙尘暴转晴 内容:U2 HTML5第一节课 一.01第一个霸气的网页 1.老师代码: <!DOCTYPE html><html><head l ...

  9. 2017年4月21号课堂笔记

    2017年4月21号 星期五 空气质量:良 内容:XML,Dom4j解析XML文件,单例 一.XML 老师代码: <?xml version="1.0" encoding=& ...

  10. 嵌入式Linux系统编程学习之九基于文件描述符的文件操作

    文章目录 前言 一.文件描述符 二.打开.创建和关闭文件 三.读写文件 四.改变文件大小 五.文件定位 六.原子操作 七.进一步理解文件描述符 八.文件描述符的复制 九.文件的锁定 十.获取文件信息 ...

最新文章

  1. 分布式计算的模式语言读后感
  2. 前端开发学习二——由JSON和Object Literal Notation引起的思考
  3. MFC隐藏和显示一个控件的方法
  4. Java面试你必须要知道的那些知识,深夜思考
  5. html调用一个php文件路径_HTML中利用js调用php的内容
  6. 《算法图解》——狄克斯特拉算法
  7. [论文写作笔记] C11论文查重原理及降重
  8. 产品经理,没有那么牛逼
  9. ora03113通信通道的文件结尾 会话id 149 序列号 3
  10. 原创|批处理实现MicroUSB传输速度测试工具
  11. Android仿苹果电量显示
  12. 数据结构-哈夫曼树详解(类C语言版)
  13. 应急响应之windows进程排查
  14. wpf Route Event Code Snippet
  15. 无数的讽刺侮辱挖苦打击否定不屑与嘲笑,只有罗永浩才撑得住吧
  16. 调用第三方应用App
  17. JVM的Metaspace,JAVA8以前是Permanent Area
  18. 基于协同过滤的电影评分推荐案例及相关代码
  19. 【第26天】给定 n 个元素的升序数组nums,求实现一个函数在nums中寻找target的下标 | 初识二分查找
  20. 设计模式之备忘录模式详解

热门文章

  1. 给3D打印机升级的记录( i3 Mega S)
  2. html中滚动字幕是什么属性,html中Marquee属性详解(滚动显示文本/图片)
  3. vue图片压缩不失真_vue 项目中图片压缩方法小结
  4. 树莓派4B开机自动发微信报告ip地址
  5. This request has been blocked; the content must be served over HTTPS
  6. Word双栏右对齐插入MathType公式
  7. 解读 AppStore 新功能:自定义产品页面和 A/B Test 工具
  8. 隐私何在?区块链是隐私保护的安全阀门
  9. mysql查看列名_MySQL:从查询中获取列名或别名
  10. 苹果cookie是打开还是关闭_如何避免苹果safari自带浏览器“跟踪”你的信息!