aptitude


私信TA

用户名:yaohongda

访问量:1479

签 名:

随和

等  级
排  名 6232
经  验 1380
参赛次数 6
文章发表 2
年  龄 21
在职情况 学生
学  校 沧州师范学院
专  业 计科

  自我简介:

自律带给你成功

解题思路:
1.求公元一年到y年m月d日一共多少天(套路)(平闰年不考虑过83)

2.1结果模7返回值判断星期几
注意事项:
2中返回值0代表星期天其他顺延
参考代码:

#include <iostream>

using namespace std;

bool run(int y){

return (y%100 &&y%4==0)||(y%400==0);

}//平闰年判断

int mouth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};//正常一年天数

int howmany(int y,int m,int d){

        int ret = 0;

            for(int i=1;i<y;i++){

                ret += run(i)?366:365;

                }//年天数

            for(int i=1;i<m;i++){

            if(run(y)&&i==2)ret++;//(小坑)

            ret += mouth[i];

            }//月天数

            ret += d; 

            return ret;//总天数

}

int main(){

        int y,m,d;

        cin>>y;

            int ans = 0;

            for(m=1;m<=12;m++){

                    int tmp = mouth[m];

                    if(m==2&&run(y))tmp++;//(小坑)

                    for(d=1;d<=tmp;d++){

                    if(d==13&&howmany(y,m,d)%7==5)ans++;//题意

                    }

                }

    cout<<ans<<endl;

return 0;


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区