basic frage

hugobla

Newbie
Registriert
März 2010
Beiträge
2
Hallo,

kann mir vllt. jemand sagen, was dieses Programm genau macht ?



nYear = Jahr z.B. 1986 = Eingabe | nMont, nDay = Ausgabe| INT = ganzzahliger Anteil z.B. INT(13.25) = 13 | MOD = Rest bei der ganzzahligen Division

nC = INT(nYear / 100)
nN = nYear MOD 19
nK = INT((nC - 17) / 25)
nI1 = nC - INT(nC / 4) - INT((nC - nK) / 3) + 19 * nN + 15
nI2 = nI1 - 30 * INT(nI1 / 30)
nI3 = nI2 - INT(nI2 / 28) * (1 - INT(nI2 / 28) * INT(29 / (nI2 + 1)) * INT((21 - nN) / 11))
nL = nI3 - ((nYear + INT(nYear / 4) + nI3 + 2 - nC + INT(nC / 4)) MOD 7)
nMonth = 3 + INT((nL + 40) / 44)
nDay = nL + 28 - 31 * INT(nMonth / 4)


vieln danke schon mal !
 
haha, was ist denn das für ein Quark?

in java:

PHP:
		int nYear = 1986;
		int nC = nYear / 100;
		int nN = nYear % 19;
		int nK = (nC-17) / 25;
		int nl1 = nC - nC/4 - (nC-nK)/3 + 19*nN + 15;
		int nl2 = nl1 - 30 * (nl1/30);
		int nl3 = nl2 - nl2/28 * (1 - nl2 / 28 * 29/(nl2+1) * (21-nN) / 11);
		int nL = nl3 - (nYear + nYear/4 + nl3 +2 -nC + nC/4) % 7;
		int nMonth = 3 + (nL + 40) / 44;
		int nDay = nL + 28-31*(nMonth/4);
		
		
		System.out.println(nMonth);
		System.out.println(nDay);

(auch wenn die INT(...) nicht ganz richtig ist)


spukt für 1986 nMonth=3 und nDay=30 aus





ach das soll Ostern berechnen ;-)
 
Hey,

ja das sollte irgendwie ein Rätsel sein ... habe das auch so gemacht wie du, aber das Problem war, dass bei mir irgendwie immer größere negative Werte rauskamen, je größer das Jahr wurde. Das mit Ostern klingt aber logisch ;)

Danke dir !

Grüße
 
Zurück
Oben