Fórumok
#!/bin/bash
awk -v N=${1:-0} \
'BEGIN {
if ( ( N < 1900 ) || ( N > 2099 ) )
{
print "Bad value"
exit
}
a=N%19
b=N%4
c=N%7
d=(19*a+24)%30
e=(2*b+4*c+6*d+5)%7
v1=22+d+e
if ( v1 <= 31 )
print 3,v1
else
print 4,d+e-9
}'
Hozzászólások
42.
Azt hiszem, ez egy nagyon szep megoldas, mar csak a feladat a kerdes.
A strange game. The only winning move is not to play. How about a nice game of chess?
Kicsit furcsállom, hogy Gauss olyan algoritmust írt volna, ami specifikusan csak a XX és XXI századra jó. Inkább az lehet, hogy ez az eredetinek egy leegyszerűsítése.
Igen, ebben az intervallumban N % 4 = 0 szökőév, nem kell a 100 és a 400 maradékot is vizsgálni.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
Jó a megérzés!
Nem akartam tovább borzolni a kedélyeket.
A d számitásánál a 24 helyett, ha N < 1583 -> 15, 1583 - 1699 -> 22, 1700 - 1899 -> 23
és az e számításánál az 5 helyett, ha N < 1583 -> 6, 1583 - 1699 -> 2, 1700 - 1799 -> 3, 1800 - 1899 -> 4 értékeket kell alkalmazni!
A szakirodalom így írja: Gausz
Kellemes húsvéti ünnepeket!
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
Olybá tűnt, mintha nagyvezérünket majmolnád a válasz megkerülésével. ;)
Legyen a jutalmad a mű címe!
A képlet a 66. oldalon található.
Szerintem elég egyértelmű utalás volt, de köszönöm a címet.
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
Azért a szmájli. (Burkoltan: Te győztél!)