黑色星期五Friday the Thirteenth

嗯,虽然很水,但细节是真的多。
我闰年判断错了而且while循环都忘了(伤心)

题目描述

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。

输出格式

输出请从周六开始

思路

easy,模拟年,月,日。(注意闰年)然后在每个月的第十三号所在的周几处+1。

代码

错误代码

#include<bits/stdc++.h>
using namespace std;
int day[8]={0};
int oneyear[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int eday=1;
int month=1;
int d=1;
bool judge(int i) {if (i % 100 == 0 &&i%400==0)return true;else  if(i%4==0)return true;return false;
}
int main()
{int n,i=0;cin>>n;while (i==n&&d==1&&month==1) {if (judge(i + 1900)) {oneyear[2] = 29;} elseoneyear[2] = 28;d++;eday++;if (d > oneyear[month]) {d = 1;month++;}if (month > 12) {i++;month = 1;}if (eday > 7)eday = 1;if (d == 13)day[eday]++;}cout<<day[6]<<" "<<day[7]<<" "<<day[1]<<" "<<day[2]<<" "<<day[3]<<" "<<day[4]<<" "<<day[5];return 0;
}

正确代码

#include<bits/stdc++.h>
using namespace std;
int day[8]={0};
int oneyear[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int eday=1;
int month=1;
int d=1;
bool judge(int i) {if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)return true;return false;
}
int main()
{int n,i=0;cin>>n;while (i < n) {if (judge(i + 1900)) {oneyear[2] = 29;} elseoneyear[2] = 28;d++;eday++;if (d > oneyear[month]) {d = 1;month++;}if (month > 12) {i++;month = 1;}if (eday > 7)eday = 1;if (d == 13)day[eday]++;}cout<<day[6]<<" "<<day[7]<<" "<<day[1]<<" "<<day[2]<<" "<<day[3]<<" "<<day[4]<<" "<<day[5];return 0;
}

(又是水过的一天呢~~)

USACO黑色星期五Friday the Thirteenth相关推荐

  1. USACO Training Section 1.1黑色星期五Friday the Thirteenth

    题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...

  2. 黑色星期五Friday the Thirteenth [USACO 1.2]

    题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...

  3. 洛谷P1202 [USACO1.1]黑色星期五Friday the Thirteenth

    题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...

  4. 黑色星期五 Friday The Thirteenth

    黑色星期五 洛谷P1202 这是一道很奇怪的题 我做了一遍 不会 两天后 会了

  5. 黑色星期五Friday the Thirteenth

    题目描述 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+N- ...

  6. USACO 1.0_Friday the Thirteenth

    2019独角兽企业重金招聘Python工程师标准>>> 還好還好蛋沒有粉 /* NAME: zfb2 LANG: C++ TASK: friday */#include <io ...

  7. [USACO1.1]黑色星期五Friday the Thirteenth

    https://www.luogu.org/problemnew/show/P1202 又学了一招重载++ /* *@Author: STZG *@Language: C++ */ #include ...

  8. 洛谷 P1202 模拟 - 黑色星期五 Friday the Thirteenth

    [题目描述] 13号又是一个星期五.13号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数.给出N年的一个周期,要求计算1900年1月1日至1900+ ...

  9. 【from zero to zero】noip2017

    from zero to zero 洛谷首页的倒计时不知道什么时候就变成了六字开头. 到底还是太弱了. 生病又拖了很多的时间. 听了很多的算法,自己写起来却非常困难. 也许要在累倒前做一些事情呢. 从 ...

最新文章

  1. 织梦怎么改网站主页php,无忧主机教你修改织梦DedeCms网站首页为动态显示的方法...
  2. python3 枚举定义和使用
  3. boost::range模块实现格式化相关的测试程序
  4. PHP 使用 OSS上传文件
  5. oracle 如何 更改 ref cursor 结果集,oracle – 如何从anther调用一个存储过程并修改返回的refcursor?...
  6. vscode卸载background插件_萌妹程序员鼓励师24小时在线陪你写代码,给我吹爆这个VSCode插件...
  7. android onclick执行顺序,浅谈onTouch先执行,还是onClick执行(详解)
  8. 有关计算机利弊的英语作文,急需一篇有关电脑优缺点的作文(英文的)
  9. 微服务模式下API测试
  10. python3 input函数
  11. java int 原子_java中的原子操作类AtomicInteger及其实现原理
  12. 获取浏览器的User Anent及判断微信浏览器
  13. python中换行的转义字符_Python语言中表示换行的转义字符是____________。(2.5分)_学小易找答案...
  14. 计算机基础知识高职版,计算机应用基础 课件教学全套课件(高职版大学计算机基础 第7章 计算机网络基础知识 课件.pptx...
  15. win10用linux命令关机,Win10使用PowerShell命令让局域网电脑重启关机操作
  16. mysql5.1免安装版_mysql5.1免安装版配置
  17. 关于Adobe flash player 本地播放器
  18. 超卓航空通过注册:年营收1.4亿 湖北将再诞生一家上市企业
  19. DBA之路:小小DBA一年工作总结
  20. 关于召开山东省高职无人机应用技术专业教学指导方案开发第一次会议的通知...

热门文章

  1. 超详细的 Python 基础语句总结(多实例、视频讲解持续更新)
  2. Bootstrap 发布十周年,Bootstrap 5都有什么新功能?
  3. 【常见c语言笔试题嵌入式软件开发2】
  4. 计算机无法访问需要密码,win7系统局域网访问需要密码的解决方法
  5. SQL数据库insert数据时,汉字字符显示为“?”
  6. 网络成瘾是一种精神疾病,可预防、可矫正
  7. 《我不是药神》观后感
  8. linux死机不强制关机解决方法
  9. 原来JAVA对象转JSON格式的字符串如此简单,返回来暂时不会做,留下纪念下
  10. Luogu 3768 简单的数学题