解题思路:
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 人评分
点我有惊喜!你懂得!浏览:2213 |
C语言训练-排序问题<1> (C++代码)浏览:590 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:536 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:505 |
WU-整数平均值 (C++代码)浏览:1239 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:468 |
水仙花 (C语言代码)浏览:1047 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:504 |
1048题解(读入回车问题)浏览:554 |
1035 题解浏览:779 |