C++ 实现这个公式:
#include<iostream>
using namespace std;
int fun(int y,int m,int d){
if(m==1||m==2){
m+=12;
y--;
}
return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;
}
int main(void){
int year,month,day;
cin>>year>>month>>day;
cout<<fun(year,month,day)<<endl;
return 0;
}
套用这个公式就可以轻易完成黑色星期五了
代码如下:
#include < iostream > using namespace std;
int fun(int y, int m, int d) {
if (m == 1 || m == 2) {
m += 12;
y--;
}
return (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7 + 1;
}
int main(void) {
int year;
int ans = 0;
cin >> year;
for (int i = 1; i <= 12; i++) {
if (fun(year, i, 13) == 5) ans++;
}
cout << ans << endl;
return 0;
}
来源: http://www.bubuko.com/infodetail-2481459.html