2723:不吉利日期
时间限制: 1000ms 内存限制: 65536kB 描述 在国外,每月的13号和每周的星期5都是不吉利的。特别是当13号那天恰好是星期5时,更不吉利。已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。(w=1..7) 输入 输入有一行,即一月一日星期几(w)。(1<=w<=7) 输出 输出有一到多行,每行一个月份,表示该月的13日是星期五。 样例输入
7
样例输出
1
10
提示 1、3、5、7、8、10、12月各有31天
4、6、9、11月各有30天
2月有28天
//先算出每月13是一年中的第几天存于ans数组中,在判断是否是星期五
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int ans[12];
int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int fun(int num)
{
int sum = 0;
int i,j,k;
for(i=0;i<num;i++)
sum += month[i];
return sum + 12;//不加13,那么不再两个日期想减
}
int main()
{
int i,j,k,T;
cin>>T;
memset(ans,0,sizeof(ans));
for(i=0;i<12;i++)
ans[i] = fun(i);
for(i=1;i<=12;i++)
if(((ans[i-1]%7+T)%7)==5)
cout<<i<<endl;
// system("pause");
return 0;
}
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
分享到: 更多