Mam prośbę potrzebują zapisać wieczny kalendarz w pewnym języku skryptowym (nieważne jakim)
w każdym razie chciał bym zrozumieć zasadę działania algorytmu (w tedy będzie mi łatwiej go zapisać). Dobra przechodząc do sedna, chciałem skorzystać z algorytmu umieszczonego w Wikipedi „http://pl.wikipedia.org/wiki/Wieczny_kalendarz” no i mam zgrys nie wiem co dalej z tym zrobić:

mamy taki schemat:

M := 1 + (Month + 9) mod 12 ; if M>10 then Dec(Year) ;
C := Year div 100 ; D := Year mod 100 ;
N := ((13M-1) div 5 + D + D div 4 + C div 4 + 5C + 1) mod 7 ; ?
N := ((13M-1) div 5 + D + D div 4 + C div 4 + 5C) mod 7 ; ?

nie wiem dlaczego jest dwa razy zapisana zmienna N, to znaczy domyślam się, że chodzi o kalendarz Juliański i Gregorjański (mi chodzi oczywiście o gregoriański i jest to chyba druga zmienna N bez +1). No dobra zapisałem to sobie tak:

int day = 13;
		int month  = 7;
		int year = 1982;
		
		int m;
		int c;
		int d;
		int n;
		
		m = 1+ (month  + 9) % 12;
		if (m > 10)
			year = year - 1;
		c = year / 100; 
		d = year % 100 ;
		n = ((13*m-1) / 5 + d +d / 4 + c / 4 + 5*c +1)%7;

i teraz, jeżeli wszystko jest poprawnie to jak mam sprawdzić jaki to jest dzień? Nie jest to tam do końca wyjaśnione (to znaczy wiem, że jest to N = kod dnia tygodnia poczynając od niedzieli (0) do soboty (6) ) ale nie jest tu napisane w którym momencie użyć mojej zmiennej "day", jak mam uzyskać ten numer dnia.

Jest też algorytm zapisany w języku C ale nie do końca wiem jak on ma działać gdyż w obliczeniach jest użyta zmienna logiczna a w javie kompilator nie wie co z tym zrobić.

Dodam tylko, że bardzo zależy mi właśnie na takim prostym kodzie bez pętli (chodzi o docelowy język).