zoukankan      html  css  js  c++  java
  • History 蔡勒公式

    History

     

    AC_Code:

     1 //400年一循环+蔡勒公式
     2 #include <bits/stdc++.h>
     3 using namespace std;
     4 typedef long long ll;
     5 const int maxn = 1e5+10;
     6 const ll inf=1e18;
     7 const ll mod=1e9+7;
     8 #define rep(i,first,last) for(int i=first;i<=last;i++)
     9 #define dep(i,first,last) for(int i=first;i>=last;i--)
    10 
    11 int y,m,d,n;
    12 int rm[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
    13 int brm[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    14 bool run(int k){//判断闰平年
    15     if( k%400==0 ) return true;
    16     else if( k%100!=0 && k%4==0 ) return true;
    17     else return false;
    18 }
    19 
    20 //蔡勒公式,计算这一天是周几,公式只适用于1582年10月15日之后的情形
    21 char weekday[10][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
    22 int zeller(int year,int month,int day){
    23     int m,d=day;
    24     if( month<3 ){
    25         m=month+12;
    26         year--;
    27     }
    28     else m=month;
    29     int c=year/100;
    30     int y=year%100;
    31     int w=(c/4)-2*c+(y+y/4)+(26*(m+1)/10)+d-1;
    32     return (w%7+7)%7;     //返回0代表周日
    33 }
    34 
    35 int cnt[15];
    36 int ret[15];
    37 int a,b;
    38 int main()
    39 {
    40     scanf("%d%d",&a,&b);
    41     rep(i,a,a+399){
    42         int ans=0;
    43         rep(j,1,12){
    44             if( zeller(i,j,13)==5 ){
    45                 ans++;
    46             }
    47         }
    48         cnt[ans]++;
    49     }
    50 
    51     int num=(b-a)/400;
    52     rep(i,0,12){
    53         ret[i]=cnt[i]*(num);
    54     }
    55     int kiss=a+num*400;
    56     rep(i,kiss,b){
    57         int ans=0;
    58         rep(j,1,12){
    59             if( zeller(i,j,13)==5 ){
    60                 ans++;
    61             }
    62         }
    63         ret[ans]++;
    64     }
    65     rep(i,0,12){
    66         printf("%d: %d
    ",i,ret[i]);
    67     }
    68     return 0;
    69 }
  • 相关阅读:
    lingpipe
    小白都会的邮件推送?你还不会吗?
    怎么拿到签到王者的勋章?
    分享几个学习鸿蒙的社区平台
    小白都会的一键软件搬家?你还不会吗?
    博客网站接入网站统计
    CSDN博客怎么别人的文章?
    HarmonyOS的组件、布局和事件三者的关系
    Markdown格式快速转换为富文本格式
    Python学习
  • 原文地址:https://www.cnblogs.com/wsy107316/p/12534893.html
Copyright © 2011-2022 走看看