Anonymous user
Holidays related to Easter: Difference between revisions
→{{header|BASH}}: Adding BASH
(Added Fōrmulæ solution) |
(→{{header|BASH}}: Adding BASH) |
||
Line 520:
2020 Easter: Sun 12 Apr, Ascension: Thu 21 May, Pentecost: Sun 31 May, Trinity: Sun 7 Jun, Corpus: Thu 11 Jun
</pre>
=={{header|BASH}}==
<lang bash>
#! /bin/bash
# vim: ts=4 :
# Calendar algorithm source: https://www.rmg.co.uk/stories/topics/when-easter
easter() {
y=$1
if [[ $year -gt 2099 ]]
then
echo Error: This algorithm does not work after 2099.
exit
fi
(( day = 225 - 11 * (year % 19) ))
while [[ $day -gt 50 ]]
do
(( day -= 30 ))
done
if [ $day -gt 48 ]
then
(( --day ))
fi
(( day = day + 7 - (year + year/4 + day + 1) % 7 ))
echo $day
}
for year in {1998..2099}
do
day=$( easter $year )
if [ $day -gt 31 ]
then
(( day -= 31 ))
printf "%d-%02d-%02d\n" $year 4 $day
else
printf "%d-%02d-%02d\n" $year 3 $day
fi
done
</lang>
=={{header|BBC BASIC}}==
|