Dátum: 2006. január 3., 9:10
Feladó: Pál András --
Tárgy: Husvet
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Content-Type: TEXT/PLAIN; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE
> B=E1r a megold=E1st megadt=E1k, ismertetn=E9k egy m=E1sik lehets=E9get. H
=FAsv=E9t=20
> idpontokkal kapcsolatban van egy j=F3 kis program, amely t=F6bbnyire mind
en=20
> Linuxon alapb=F3l fent szokott lenni, az ncal. Ezzel a k=F6vetkez=20
> parancssort be=EDrva megkapom a keresett =E9veket:
Illetve meg egy linuxos megoldas: ha valakinek nem lenne meg az ncal, vagy
=20
egyszeruen csak kivancsi, hogy egyatalan hogyan is lehet a Husvet=20
idopontjat kiszamolni ;)) (csak ugy, az evszamot felhasznalva, maradekos=20
osztasokkal). Az algoritmus egyebkent Jean Meeus: Astronomical formulae=20
for Calculatros (ujabb kiadasokban Astron. Algorithms) c. konyveben (is)=20
benne van...
Andras
$ cat easter
#!/bin/sh
for y in $* ; do
a=3D$(($y%19))
b=3D$(($y/100))
c=3D$(($y%100))
d=3D$(($b/4))
e=3D$(($b%4))
f=3D$((($b+8)/25))
g=3D$((($b-$f+1)/3))
h=3D$(((19*$a+$b-$d-$g+15)%30))
i=3D$(($c/4))
k=3D$(($c%4))
l=3D$(((32+2*$e+2*$i-$h-$k)%7))
m=3D$((($a+11*$h+22*$l)/451))
p=3D$(($h+$l-7*$m+22))
if [ $p -le 31 ] ; then m=3D3 ; d=3D$p
else m=3D4 ; d=3D$(($p-31)) ; fi
if [ $d -lt 10 ] ; then dd=3D"0$d"
else dd=3D$d ; fi
echo $y.0$m.$dd
done
$ ./easter `seq 1941 2036` | grep 04.13
1941.04.13
1952.04.13
2031.04.13
2036.04.13
$
|