1403: 1.1.3 Friday the Thirteenth 黑色星期五

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 75  Solved: 40
[Submit][Status][Web Board]

Description

13号又是一个星期5。13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出N年的一个周期,要求计算1900年1月1日至1900+N-1年12月31日中十三号落在周一到周日的次数,N为正整数且不大于400. 这里有一些你要知道的: 1900年1月1日是星期一.4,6,11和9月有30天.其他月份除了2月都有31天.闰年2月有29天,平年2月有28天.年份可以被 4整除的为闰年(1992=4*498 所以 1992年是闰年,但是1990年不是闰年)以上规则不适合于世纪年.可以被400整除的世纪年为闰年,否则为平年.所以,1700,1800,1900 和2100年是平年,而2000年是闰年.请不要预先算好数据(就是叫不准打表 0。0)!

Input

一个正整数n.

Output

七个在一行且相分开的整数,它们代表13日是星期六,星期日,星期一...星期五的次数.

Sample Input

20

Sample Output

36 33 34 33 35 35 34

解析:1990年1月1日为周一,13日为周六(13%7=6)

经过一月后(31天)2月13日为6+31%7=9,数字超过了7因此要减去7 9-7=2,因此1990年2月13日为周二,

经过二月后(28天)3月13日为2+28%7=2,数字未超过7,因此1990年3月13日为周二,

经过三月后(30天)4月13日为2+30%7=5,数字未超过7,因此1990年4月13日为周五,

...

由上可知,只要知道每个月有多少天用它除以7取余数再判断一下是否超过了7,就可以知道当前13号为周几,将其存储到一个数组中记录即可。

AC代码:

import java.util.Scanner;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int n = sc.nextInt();int a[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };//存储每个月份天数int b[] = new int[8];//存储每个星期中对应星期出现的数目int sum = 13;//要求的为13号且1990年1月1日为周一,13不做改变。int m = 0;//存储星期数for (int i = 1900; i < 1900 + n; i++) {for (int j = 0; j < 12; j++) {if (((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) && (j == 2))sum++;//闰年2月份多一天/**经过sum天后当前的星期数*/if (sum % 7 == 0)b[m]++;else if (sum % 7 == 1) {if (m + 1 > 7)m = m + 1 - 7;elsem = m + 1;b[m]++;} else if (sum % 7 == 2) {if (m + 2 > 7)m = m + 2 - 7;elsem = m + 2;b[m]++;} else if (sum % 7 == 3) {if (m + 3 > 7)m = m + 3 - 7;elsem = m + 3;b[m]++;} else if (sum % 7 == 4) {if (m + 4 > 7)m = m + 4 - 7;elsem = m + 4;b[m]++;} else if (sum % 7 == 5) {if (m + 5 > 7)m = m + 5 - 7;elsem = m + 5;b[m]++;} else if (sum % 7 == 6) {if (m + 6 > 7)m = m + 6 - 7;elsem = m + 6;b[m]++;}sum = a[j + 1];//一次循环结束后sum变为当前月份天数}}for (int i = 6; i <= 7; i++)//输出周六周日天数System.out.print(b[i] + " ");for (int i = 1; i < 5; i++)System.out.print(b[i] + " ");//输出周一至周四天数System.out.print(b[5]);//输出周五天数}
}

YTU OJ 1403: 1.1.3 Friday the Thirteenth 黑色星期五相关推荐

  1. YTU OJ Problem 3013

    YTU OJ Problem 3013 皇后问题(递归) 题目描述 编写一个函数,求解皇后问题:在 n × n 的方格棋盘上,放置 n 个皇后,要求每个皇后不同行.不同列.不同左右对角线. 要求: 1 ...

  2. YTU OJ Problem 2013

    YTU OJ Problem 2013 C语言实验 - 一元二次方程 II 题目描述 求一元二次方程ax²+bx+c=0 的解. a,b,c为任意实数. 输入 输入数据有一行,包括 a,b,c 的值. ...

  3. YTU OJ 1329: 手机尾号评分

    Description 30年的改革开放,给中国带来了翻天覆地的变化.2011全年中国手机产量约为11.72亿部.手机已经成为百姓的基本日用品! 给手机选个好听又好记的号码可能是许多人的心愿.但号源有 ...

  4. YTU OJ 2458: 换啤酒

    题目描述 Ject建有n瓶啤酒,全部喝掉之后就有n个啤酒瓶.现在每3个啤酒瓶就可以换1瓶 啤酒.比如,有10瓶啤酒,喝掉之后有10个啤酒瓶,可以换10/3=3瓶啤酒,还剩1 个啤酒瓶,然后再喝掉去换啤 ...

  5. YTU OJ 3094: 善良的小乌龟

    Description 有一天,烟台大学来了一只心地善良又善于感化其他龟的小乌龟,为什么这么说呢,我们从一件事上就可以看出来:他喜欢收养无家可归的小乌龟,并且教导他们.他收养的小乌龟在他的教导下都和他 ...

  6. YTU OJ 2451: 股市风云

    题目描述 股市强烈动荡,有涨有跌.现在有一组数据表示各公司的涨跌(涨为正,跌为负,不动为零),要求统计出平均涨幅和平均跌幅. 输入 一组数,其中有正数,也有负数,还有0.输入的个数不定,另外,不会出现 ...

  7. YTU OJ 母牛的故事

    题目描述 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第 n 年的时候,共有多少头母牛? 输入 输入数据由多个测试实例组成,每个测试实例占一行, ...

  8. YTU oj 3631 树的高度

    题目描述 世界上最高的树是澳洲杏仁桉树,高 156 米.(不用看这句) 给你 N,求有 N 个节点 的完全二叉树的的高度 (约定根节点在第一层). 输入 只有一个数,表示这棵完全二叉树的节点数量. 输 ...

  9. YTU OJ 2914 Problem A xiaoping学构造函数

    xiaoping学构造函数 时间限制: 1.00s | 内存限制: 128MB 题目描述 xiaoping刚接触类的构造和析构函数,对于构造函数的编写比较困惑.zhuangzhuang给小平布置了一道 ...

  10. YTU OJ 2914 xiaoping学构造函数

    [题目描述]: Description xiaoping刚接触类的构造和析构函数,对于构造函数的编写比较困惑.zhuangzhuang给小平布置了一道题目,xiaoping苦思两天也无法解答,请你帮帮 ...

最新文章

  1. arm板telnetd为什么运行不了_Win10 ARM 迎来原生 PS,微软玩 ARM 能赢过苹果吗
  2. 数据库操作——多表查询
  3. drop table中cascade的含义及用法
  4. 集群资源分配_分析下 Node.js 关于集群的那些事
  5. 母版页可以动态切换吗?
  6. 通过Chocolatey软件包管理器安装.NET Core
  7. scrapy 模拟登陆
  8. Asp.Net服务器控件开发的Grid实现(三)列编辑器
  9. “华为搜索”正海外内测;苹果5亿美元和解“降速门”;Firefox隐藏HTTPS | 极客头条...
  10. 达摩院 2020 预测:模块化降低芯片设计门槛 | 问底中国 IT 技术演进
  11. 两张图片合成一张_利用溶图技巧把多张图片合成一张奇幻风格图片教程
  12. MyBatis的9种设计模式,我猜你不知道
  13. windows10下 mysql5.7.24 免安装版 安装笔记
  14. 基于TI DRV8424驱动步进电机实现调速和行程控制
  15. C语言——是否为闰年的判断
  16. 比亚迪--一文看懂--家用新能源汽车产品线
  17. 路由器不同网段虚拟服务器设置,局域网中不同网段互访?静态路由表必须要学会设置...
  18. three.js中坐标系转换以及camera的position、lookAt与up属性理解
  19. html注册新浪邮箱代码,JS仿新浪邮箱点击联系人添加Email地址
  20. 唐天下文化传播:惹火2021公司新年年会,天下谁人不识君?

热门文章

  1. 坏女人修炼秘籍 [转]
  2. android手机切换飞行模式导致百度地图显示蓝屏解决方案
  3. Python学习(二): Python xml 读取之 ET.parse()
  4. 全球与中国主动隔振市场深度研究及投资可行性报告2022-2028年
  5. apache ab测试
  6. Pycharm同时打开多个项目
  7. 【灯塔】11.8总结
  8. 运行wvp开源项目所遇到的问题
  9. 索爱非android智能机刷机工具
  10. 弹跳球Java案例,Java Breakout游戏弹跳球