• 洛谷P1202 黑色星期五Friday the Thirteenth


    传送门

    题目描述

    1313 号又是一个星期五,那么 1313号在星期五比在其他日子少吗?

    为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出 nn 年的一个周期,要求计算 19001900 年 11 月 11 日至 1900+n-11900+n−1 年 1212 月 3131 日中十三号落在周一到周日的次数。

    这里有一些你要知道的:

    1、19001900 年 11 月 11 日是星期一。

    2、4,6,114,6,11 和 99 月有 3030 天,其他月份除了 22 月都有 3131 天,闰年 22 月有 2929 天,平年 22 月有 2828 天。

    3、年份可以被 44 整除的为闰年 ( 1992=4*4981992=4∗498 所以 19921992 年是闰年,但是 19901990 年不是闰年 )。

    4、以上规则不适合于世纪年。可以被 400400 整除的世纪年为闰年,否则为平年。所以,1700,1800,1900,21001700,1800,1900,2100 年是平年,而 20002000 年是闰年。

    输入格式

    一个正整数 nn。

    输出格式

    依次输出周六、日、一、二、三、四、五在 1313 日出现的次数。

    输入输出样例
    输入 #1复制
    20
    输出 #1复制
    36 33 34 33 35 35 34

    说明/提示

    【数据范围】
    对于 100%100% 的数据,1\le n \le 4001≤n≤400。
    题目翻译来自NOCOW。
    USACO Training Section 1.1

    上代码:

    #include
    using namespace std;
    int n,xin=6;
    int yue[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}/*记录每月的天数*/,ans[6];
    bool run(int nian){//函数判闰年
    	if(nian%400==0)
    	   return true;
    	if(nian%100==0)
    	   return false;
    	if(nian%4==0)
    	   return true;
    	return false;
    }
    int main(){
    	cin>>n;
    	for(int i=1900;i<=1900+n-1;i++){//按思路循环
    		for(int j=1;j<=12;j++){
    			xin+=yue[j];
    			if(j==2)
    			   if(run(i))
    				  xin++;
    			xin%=7;
    			ans[xin]++;
    		}
    	}
    	cout<<ans[6]+1<<" "<<ans[0]<<" "<<ans[1]<<" "<<ans[2]<<" "<<ans[3]<<" "<<ans[4]<<" "<<ans[5]<<" "<<endl;//输出,ans[0]即为周日。
    	return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
  • 相关阅读:
    ATSS介绍
    Effective Modern C++ 第七章 并发API 2
    振弦传感器和无线振弦采集仪在隧道安全监测的解决方案
    SpringCloud - 项目组织架构如何搭建
    在 Simscape Electrical 中对两区 MVDC 电动船的建模和仿真(Simulink实现)
    ubuntu18.04安装kalibr疯狂踩坑记录
    Android  JetPack~ LiveData (一)   介绍与使用
    LeetCode HOT 100 —— 32.最长有效括号
    抽象工厂模式
    ABAP 新增PO计划行时 新增行交货日期默认当前最大交期
  • 原文地址:https://blog.csdn.net/lzx_xzl_______/article/details/126190432