MAGYAR CSILLAGÁSZATI EGYESÜLET - CSILLA LISTA ARCHIVUM #4960

ápr_13
Húsvét
Fenyszennyezes
Husvet
egyenloseg...


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
$

   
Kezdőlap | Levelezőlisták