Holidays related to Easter: Difference between revisions

→‎{{header|BASH}}: Typo and output
(→‎{{header|BASH}}: Adding BASH)
(→‎{{header|BASH}}: Typo and output)
Line 524:
<lang bash>
#! /bin/bash
# Carter's calendar algorithm: https://web.archive.org/web/19990117015544/http://www.ast.cam.ac.uk/pubinfo/leaflets/easter/easter.html
# vim: ts=4 :
set -e
# Calendar algorithm source: https://www.rmg.co.uk/stories/topics/when-easter
 
 
easter() {
y(( year=$1 ))
 
if [[ $year -gt 2099 ]]
then
echo "Error: year This algorithm does not work after 2099."
exit 1
fi
 
(( day = 225 - 11 * (year % 19) ))
 
while [[(( $day -gt> 50 ]]))
do
(( day -= 30 ))
done
 
if [(( $day -gt> 48 ]))
then
(( --day ))
Line 553:
}
 
for year in {1998..20992100}
do
(( day=$( easter $year ) ))
if [(( $day -gt< 3132 ]))
then
printf "%d-%02d-%02d\n" $year 3 $day
else
(( day -= 31 ))
printf "%d-%02d-%02d\n" $year 4 $day
else
printf "%d-%02d-%02d\n" $year 3 $day
fi
done
 
</lang>
<pre>
2020-04-12
2021-04-04
2022-04-17
2023-04-09
2024-03-31
2025-04-20
2026-04-05
2027-03-28
2028-04-16
2029-04-01
2030-04-21
2031-04-13
..
2087-04-20
2088-04-11
2089-04-03
2090-04-16
2091-04-08
2092-03-30
2093-04-12
2094-04-04
2095-04-24
2096-04-15
2097-03-31
2098-04-20
2099-04-12
</pre>
 
=={{header|BBC BASIC}}==
Anonymous user