在国外,每月的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天
代码:
#include<iostream>
#include<string>
using namespace std;
int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
string weeks[] = { "Sunday" ,"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday",};
int main() {
int n;
cin >> n;
int day[13] = {13};
for (int i = 1; i <= 12; i++) {
day[i] = (days[i - 1]+day[i - 1]);
int tem = (day[i] + n - 1) % 7;
if (weeks[tem] == "Friday")
cout << i << endl;
}
system("pause");
}