上海市计算机学会竞赛平台YACS 黑色星期五

目录

题目描述

输入格式

输出格式

数据范围

代码实现 

月份数组

定义变量 

输入变量

判断闰年 

 其他代码


题目描述

        在西方,每月的 13 日如果正好是星期五,一般称之为黑色星期五。给定一个整数y,代表所在年份,再给定一个整数w,代表该年度 1 月 1 日的星期数(周一至周六以1到6表示,周日以7表示)。请输出该年度中,哪些月份存在黑色星期五。

输入格式

        两个整数:y 与 w。

输出格式

        若干行:每行一个整数,表示当年黑色星期五的月份,按照从小到大的顺序输出,若当年不存在黑色星期五,输出 None

数据范围

  • 1≤y≤10000;
  • 1≤w≤7

代码实现 

月份数组

int D[]{0,31,28,31,30,31,30,31,31,30,31,30,31};

定义变量 

int y,w,hv;

输入变量

cin>>y>>w;

判断闰年 

if(y%4==0&&y%100!=0||y%400==0)D[2]=29;

 其他代码

#include<bits/stdc++.h>
using namespace std;
int D[]{0,31,28,31,30,31,30,31,31,30,31,30,31};
int y,w,hv;
int main(){
	cin>>y>>w;
	if(y%4==0&&y%100!=0||y%400==0)D[2]=29;
	w=(w+12)%7;
	for(int i=1;i<=12;i++){
		if(w==5){cout<<i<<endl;hv=1;}
		w=(w+D[i])%7;
	}
	if(!hv)cout<<"None";
	return 0;
}

猜你喜欢

转载自blog.csdn.net/SYC20110120/article/details/132916517
今日推荐