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; }