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:

./last_sundays 2013
2013-01-27
2013-02-24
2013-03-31
2013-04-28
2013-05-26
2013-06-30
2013-07-28
2013-08-25
2013-09-29
2013-10-27
2013-11-24
2013-12-29


Related tasks
 Day of the week
 Five weekends
 Last Friday of each month


 
-module(last_sundays).
 
-export([in_year/1]).
 
% calculate all the last sundays in a particular year
in_year(Year) ->
    [lastday(Year, Month, 7) || Month <- lists:seq(1, 12)].
 
% calculate the date of the last occurrence of a particular weekday
lastday(Year, Month, WeekDay) ->
    Ldm = calendar:last_day_of_the_month(Year, Month),
    Diff = calendar:day_of_the_week(Year, Month, Ldm) rem WeekDay,
    {Year, Month, Ldm - Diff}.
 
 