schweikh1/my.c
#include<time.h>
#include<stdio.h>
int main(void) {
int J,a,b,c,d,e,t,m,M,N;
char T[16];
struct tm s={0};
for(J=1582;J<2200;++J) {
if(J<1700) {
M=22;
N=2; }
else if(J<1800) {
M=23;
N=3; }
else if(J<1900) {
M=23;
N=4; }
else if(J<2100) {
M=24;
N=5; }
else if(J<2200) {
M=24;
N=6; }
a=J%19;
b=J%4;
c=J%7;
d=(19*a+M)%30;
e=(2*b+4*c+6*d+N)%7;
if(22+d+e>31) {
t=d+e-9;
m=4;
if(t==26) {
t=19; }
else{
if(t==25&&d==28&&a>10)t=18; }; }
else {
t=d+e+22;
m=3; }
s.tm_year=J-1900;
s.tm_mon=m-1;
s.tm_mday= t;
strftime(T,sizeof T,"%a %b %d %Y",&s);
puts(T); }
return 0; }