问题标题: 酷町堂:2862 非周日天数

0
0
已解决
陈曦
陈曦
资深天翼
资深天翼

#include<iostream>
#include<cstdio>
using namespace std;
int x,y,z,a,b,c,day=1,date=1,cnt;
int dir[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int main(){
    cin>>a>>b>>c;
    x=1990,y=1,z=1;
    while(1){
        z+=1;
        if(z==(dir[y]+1)){
            z=1;
            y+=1;
            if(y==13){
                y=1;
                x+=1;
                if((x%4==0&&x%100!=0)||(x%400==0)){
                    dir[2]=29;
                }
                else{
                    dir[2]=28;
                }
            }
        }
        date++;
        day++;
        if(day==8) day=1;
        if(day==7) cnt++;
        if(x==a&&y==b&&z==c){
            cout<<date-cnt;
            return 0;
        }
    }
    return 0;
}

 

死循环,求改


0
已采纳
汪宇航
汪宇航
新手启示者
新手启示者

先求出1900年1月1日到X年Y月Z日一共有x1天,再x1-=x1/7

0
陈曦
陈曦
资深天翼
资深天翼

有人在吗??????????

陈曦在2021-06-15 20:13:14追加了内容

我要回答