• 1341. 十三号星期五


    按天数模拟。

    const int N=110;
    int month[2][13]={
    {0,31,28,31,30,31,30,31,31,30,31,30,31},
    {0,31,29,31,30,31,30,31,31,30,31,30,31}
    };
    int cnt[7];
    int n;
    
    bool isLeap(int year)
    {
        return year % 4 == 0 && year % 100 || year % 400 == 0;
    }
    
    int main()
    {
        cin>>n;
    
        int yy=1900,mm=1,dd=1;
        int weekday=0;
        while(yy < 1900+n-1 || mm < 12 || dd < 31)
        {
            dd++;
            weekday=(weekday+1)%7;
            if(dd == 13) cnt[weekday]++;
            
            if(dd == month[isLeap(yy)][mm]+1)
            {
                mm++;
                dd=1;
            }
            if(mm == 13)
            {
                yy++;
                mm=1;
            }
        }
    
        for(int i=0;i<7;i++)
            cout<<cnt[(i+5)%7]<<' ';
    
        //system("pause");
        return 0;
    }
    

    按月份模拟。

    const int N=110;
    int month[2][13]={
    {0,31,28,31,30,31,30,31,31,30,31,30,31},
    {0,31,29,31,30,31,30,31,31,30,31,30,31}
    };
    int cnt[7];
    int n;
    
    bool isLeap(int year)
    {
        return year % 4 == 0 && year % 100 || year % 400 == 0;
    }
    
    int main()
    {
        cin>>n;
    
        int weekday=0;
        for(int i=0;i<n;i++)
        {
            int year=1900+i;
            for(int j=1;j<=12;j++)
            {
                cnt[(weekday+12)%7]++;
                weekday=(weekday+month[isLeap(year)][j])%7;
            }
        }
        
        for(int i=0;i<7;i++)
            cout<<cnt[(i+5)%7]<<' ';
        cout<<endl;
        //system("pause");
        return 0;
    }
    
  • 相关阅读:
    PHP
    PHP
    PHP
    PHP
    PHP
    MySQL
    PHP
    PHP
    PHP
    linux 用户及用户组管理
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14726665.html
Copyright © 2020-2023  润新知