Day of the week: Difference between revisions

Content added Content deleted
m (→‎{{header|Commodore BASIC}}: Reformat and retitle output.)
(→‎{{header|Commodore BASIC}}: Remove more extranous stuff)
Line 616: Line 616:


<lang basic>100 REM FIND OUT WHAT YEARS HAVE CHRISTMAS ON A SUNDAY
<lang basic>100 REM FIND OUT WHAT YEARS HAVE CHRISTMAS ON A SUNDAY
110 REM MODULO FUNCTION (USES CALLER'S Y AS DIVIDEND)
110 REM MODULO FUNCTION (USES CALLER'S N AS DIVIDEND)
120 DEF FNYM(D) = Y - D * INT(Y/D)
120 DEF FNNM(D) = N - D * INT(N/D)
130 REM RATA DIE OF 31 DEC Y (CAN BE TAKEN MODULO 7 TO GET DAY OF WEEK)
130 REM TRUE IF Y IS DIVISIBLE BY D
140 DEF FNYD(D) = 0 = FNYM(D)
140 DEF FNRD(Y) = 365 * Y + INT(Y/4) - INT(Y/100) + INT(Y/400)
150 REM RATA DIE OF 31 DEC Y (CAN BE TAKEN MODULO 7 TO GET DAY OF WEEK)
160 DEF FNRD(Y) = 365 * Y + INT(Y/4) - INT(Y/100) + INT(Y/400)
170 REM TRUE IF THE GIVEN RD IS A SUNDAY
170 REM TRUE IF THE GIVEN RD IS A SUNDAY
180 DEF FND7(Y) = FNYD(7)
180 DEF FND7(N) = 0 = FNNM(7)
190 REM TRUE IF CHRISTMAS FALLS ON A SUNDAY IN THE GIVEN YEAR
190 REM TRUE IF CHRISTMAS FALLS ON A SUNDAY IN THE GIVEN YEAR
200 DEF FNXS(Y) = FND7(FNRD(Y) - 6):REM 6 DAYS BEFORE THE END OF THE YEAR
200 DEF FNXS(Y) = FND7(FNRD(Y) - 6):REM 6 DAYS BEFORE THE END OF THE YEAR
Line 632: Line 630:
250 : IF FNXS(Y) THEN PRINT Y,:REM PRINT YEARS IN COLUMNS
250 : IF FNXS(Y) THEN PRINT Y,:REM PRINT YEARS IN COLUMNS
260 NEXT Y
260 NEXT Y
270 PRINT
270 PRINT</lang>
</lang>


{{Out}}
{{Out}}