CCF认证201503"/>
CCF认证201503
100昏
#include<bits/stdc++.h>
using namespace std;
int days[2][13]={{366,31,29,31,30,31,30,31,31,30,31,30,31},{365,31,28,31,30,31,30,31,31,30,31,30,31}};//0:闰年 、 1:非闰年
bool leap(int n){if((n%4==0&&n%100!=0)||n%400==0)return true;return false;
}
int cal(int y,int m,int d){//周几 int ans=0,i;int k=leap(y)?0:1;for(i=1;i<m;i++)ans+=days[k][i];ans+=d;//第ans天for(i=1850;i<y;i++){k=leap(i)?0:1;ans+=days[k][0];}ans--;return (ans+2)%7==0?7:(ans+2)%7;
}
bool fun(int y,int m,int k,int d,bool flag){int ww=cal(y,m,1);int cnt=0,i;int t=leap(y)?0:1;for(i=1;i<=days[t][m];i++){if(ww==d)cnt++;if(cnt==k){if(flag)printf("%02d\n",i);return true;}ww=(ww+1)%7==0?7:(ww+1)%7;}return false;
}
int main() {int a,b,c,y1,y2;scanf("%d%d%d%d%d",&a,&b,&c,&y1,&y2);for(int y=y1;y<=y2;y++){if(fun(y,a,b,c,false)){printf("%d/%02d/",y,a);fun(y,a,b,c,true);} elseprintf("none\n");} return 0;
}
更多推荐
CCF认证201503
发布评论