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; }