• 黑色星期五


    首先了解一个数学公式:

    基姆拉尔森计算公式(已知2018-1-30求出星期二)

    W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7      在公式中d表示日期中的日数,m表示月份数,y表示年数。

    注意公式中有个与其他公式不同的地方:
    把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

    C++实现这个公式:

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int fun(int y,int m,int d){
     5     if(m==1||m==2){
     6         m+=12;
     7         y--;
     8     }
     9     return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;
    10 } 
    11 
    12 int main(void){
    13     int year,month,day;
    14     cin>>year>>month>>day;
    15     cout<<fun(year,month,day)<<endl;
    16     return 0;
    17 }

    套用这个公式就可以轻易完成黑色星期五了

    代码如下:

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int fun(int y,int m,int d){
     5     if(m==1||m==2){
     6         m+=12;
     7         y--;
     8     }
     9     return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;
    10 } 
    11 
    12 int main(void){
    13     int year;
    14     int ans=0; 
    15     cin>>year;
    16     for(int i=1;i<=12;i++){
    17         if(fun(year,i,13)==5) ans++;
    18     }
    19     cout<<ans<<endl;
    20     return 0;
    21 } 
  • 相关阅读:
    Python编程笔记二进制、字符编码、数据类型
    Python之路Python内置函数、zip()、max()、min()
    替换RTXLogo插件说明
    RTX修改标题logo方法
    RTX和谐说明
    RTX数据表分析
    RTX系统整合记录
    HiMall 3接口鉴权参考
    第三方系统接入
    学习记录
  • 原文地址:https://www.cnblogs.com/cxq1126/p/8387570.html
Copyright © 2020-2023  润新知