一道模拟题:黑色星期五 我的天数老是数错,也不知道为什么 代码如下
#include<bits/stdc++.h>//我的总思路就是纯模拟
using namespace std;
int xq[7];//星期
int main(){
int n, ts = 0, ns = 1900, ys = 1, xqts = 0;//N年的一个周期,此时是几号,此时是几几年,此时是几月,此时已经模拟了多少天(按顺序解释了一下前面的定义)
cin >> n;
while(ns <= 1900 + n - 1){
ts++, xqts++;
if(ts == 13){
xq[xqts % 7] ++;
}
if(ts == 29 && ys == 1)//二月
if(ns % 4 != 0 || ns % 100 == 0 && ns % 400 != 0)//平年
ys ++, ts = 1;
if(ts == 30 && ys == 1)//二月
if(ns % 4 == 0 || ns % 100 == 0 && ns % 400 == 0)//闰年
ys ++, ts = 1;
if(ts == 31 )//小月
if(ys == 3 || ys == 5 || ys== 10 || ys == 8)
ys ++, ts = 1;
if(ts == 32)//大月
ys ++, ts = 1;
if(ys == 13)
ns ++, ys = 1;
}
cout << xq[5] << " " << xq[6] << " " << xq[0] << " " << xq[1] << " " << xq[2] << " " << xq[3] << " " << xq[4];
}