社区讨论

萌新救助

灌水区参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lpdqqi2c
此快照首次捕获于
2023/11/25 15:39
2 年前
此快照最后确认于
2023/11/25 16:52
2 年前
查看原帖
一道模拟题:黑色星期五 我的天数老是数错,也不知道为什么 代码如下
CPP
#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];
}

回复

1 条回复,欢迎继续交流。

正在加载回复...