一道站外题,求助
  • 板块灌水区
  • 楼主Dark_Star
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/10/12 20:59
  • 上次更新2023/11/2 14:14:24
查看原帖
一道站外题,求助
1118893
Dark_Star楼主2023/10/12 20:59

第一题 13号星期几

(riqi.pas)

问题描述

请编程统计:从1900年1月1日(当天是星期一)开始经过的n年当中,每个月的13号这一天是星期一、星期二、星期三、……、星期日的次数分别是多少?

输入文件riqi.in:

共一行,一个整数n (1≤n≤400)。

输出文件riqi.out:

仅一行, 有7个整数(依次是星期一、星期二、星期三、……、星期日的次数),各数间以空格相隔。

样例输入:

1

输出:

1 3 1 2 2 2 1

打换行太没劲了

#include<bits/stdc++.h>
using namespace std;
int n,d,y,m[13]={29,31,28,31,30,31,30,31,31,30,31,30,31},a[8];
bool ry(int year);
int main()
{
//	freopen("riqi.in","r",stdin);
//	freopen("riqi.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=12;j++)
		{
			if(i+j==2)d+=13;
			else if(ry(1900+y)&&j==2)d+=m[0];
				 else d+=m[j];
			if(d%7==0)a[7]++;
			else a[d%7]++;
		}
		y++;
	}
	for(int i=1;i<=7;i++)cout<<a[i]<<' ';
//	fclose(stdin);
//	fclose(stdout);
	return 0;
}
bool ry(int year)
{
	if(year%4==0&&year%100!=0)return 1;
	if(year%400==0)return 1;
	return 0;
}

我这个蒟蒻卡在一道堪称红题的题也挺正常

2023/10/12 20:59
加载中...