解题思路:
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 人评分
点我有惊喜!你懂得!浏览:2707 |
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:3395 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1099 |
WU-整除问题 (C++代码)浏览:612 |
C二级辅导-进制转换 (C语言代码)浏览:660 |
IP判断 (C语言代码)浏览:539 |
输入输出格式练习 (C语言代码)浏览:849 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1475 |
1134题解(求分析)浏览:729 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:403 |