How to resolve the algorithm Last Friday of each month step by step in the AWK programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Last Friday of each month step by step in the AWK programming language

Table of Contents

Problem Statement

Write a program or a script that returns the date of the last Fridays 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 Last Friday of each month step by step in the AWK programming language

Source code in the awk programming language

# syntax: GAWK -f LAST_FRIDAY_OF_EACH_MONTH.AWK year
# converted from Fortran
BEGIN {
    split("31,28,31,30,31,30,31,31,30,31,30,31",daynum_array,",") # days per month in non leap year
    year = ARGV[1]
    if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
      daynum_array[2] = 29
    }
    y = year - 1
    k = 44 + y + int(y/4) + int(6*(y/100)) + int(y/400)
    for (m=1; m<=12; m++) {
      k += daynum_array[m]
      d = daynum_array[m] - (k%7)
      printf("%04d-%02d-%02d\n",year,m,d)
    }
    exit(0)
}


  

You may also check:How to resolve the algorithm Longest string challenge step by step in the PowerShell programming language
You may also check:How to resolve the algorithm FizzBuzz step by step in the Comefrom0x10 programming language
You may also check:How to resolve the algorithm Loops/For step by step in the Tailspin programming language
You may also check:How to resolve the algorithm Loops/N plus one half step by step in the M2000 Interpreter programming language
You may also check:How to resolve the algorithm Lah numbers step by step in the Arturo programming language