解题思路:
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 人评分
你的开发任务 (C++代码)写到一半,等有心情回来补全浏览:884 |
IP判断 (C++代码)浏览:672 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:511 |
C语言训练-数字母 (C语言代码)浏览:582 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:748 |
【亲和数】 (C语言代码)浏览:501 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:676 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
DNA (C语言代码)浏览:540 |