Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

cal 5875707

Name: Anonymous 2008-12-17 19:59

$ cal 5875707
cal: year 5875707 not in range 1..5875706


What is the significance of the year 5875706? Why stop there? This seems like some kind of RMS Michael Shuttleworth ploy to fuck us over in the calendar department.

Name: Anonymous 2008-12-18 1:28

/* usage: argv[0] y m d
 m and d are 1-based */

#include <stdio.h>

int yeldtab[] = {0,31,59,90,120,151,181,212,243,273,304,334};
char *daynames[] = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" };

int isleap(int yrm1) {
 int dd;
 yrm1++;
 return (yrm1&3)?(dd=yrm1%100)?1:(dd&3)?0:1:0;
}

main(int argc, char **argv) {
 if(argc==4) {
  unsigned int yrm1 = atoi(argv[1])-1;
  unsigned int mnth = atoi(argv[2])-1;
  unsigned int date = atoi(argv[3])-1;
  unsigned int adn = 365*yrm1;
  unsigned int ax = yrm1/100;
  unsigned int dx = yrm1%100;
  adn -= ax;
  ax /=4;
  adn += ax;
  adn += yrm1/4;
  adn += yeldtab[mnth];
  if(mnth>2)
   adn += isleap(yrm1);
  adn += date;
  printf("ADN for %u-%u-%u (%s) is %u\n",yrm1+1,mnth+1,date+1,daynames[(adn+1)%7],adn+1);
 }
}

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List