How to resolve the algorithm Find the last Sunday of each month step by step in the Quackery programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Find the last Sunday of each month step by step in the Quackery programming language

Table of Contents

Problem Statement

Write a program or a script that returns the last Sundays of each month of a given year. The year may be given through any simple input method in your language (command line, std in, etc). Example of an expected output:

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Find the last Sunday of each month step by step in the Quackery programming language

Source code in the quackery programming language

  [ over 3 < if [ 1 - ]
    dup 4 / over +
    over 100 / -
    swap 400 / +
    swap 1 - 
    [ table 
      0 3 2 5 0 3
      5 1 4 6 2 4 ]
    + + 7 mod ]                     is dayofweek  ( day month year --> weekday )

  [ dup 400 mod 0 = iff
      [ drop true ]  done
    dup 100 mod 0 = iff
      [ drop false ] done
    4 mod 0 = ]                     is leap       (           year --> b       )

  [ swap 1 -
    [ table
      31 [ dup leap 28 + ]
      31 30 31 30 31 31 30
      31 30 31 ]
    do nip ]                        is monthdays  (     month year --> n       )

  [ number$
    2 times
      [ char - join
        over 10 < if 
          [ char 0 join ]
        swap number$ join ] 
      echo$ ]                       is echoymd    ( day month year -->         )

  [ dip
      [ 2dup monthdays
        dup temp put
        unrot dayofweek ]
    - dup 0 < if [ 7 + ]
    temp take swap - ]              is lastwkday  ( month year wkd --> n       )

  [ temp put 
    12 times
      [ i^ 1+ over
        2dup temp share lastwkday 
        unrot echoymd cr ] 
    drop temp release ]            is lastwkdays  (       year wkd -->        )

  [ 0 lastwkdays ]                 is lastsundays (           year -->        )

  2013 lastsundays

  

You may also check:How to resolve the algorithm Guess the number/With feedback step by step in the Haskell programming language
You may also check:How to resolve the algorithm Sorting algorithms/Merge sort step by step in the Icon and Unicon programming language
You may also check:How to resolve the algorithm RPG attributes generator step by step in the APL programming language
You may also check:How to resolve the algorithm Pathological floating point problems step by step in the Python programming language
You may also check:How to resolve the algorithm Cullen and Woodall numbers step by step in the Sidef programming language