Five weekends: Difference between revisions

m
→‎{{header|REXX}}: added REXX language.
(added Fortran)
m (→‎{{header|REXX}}: added REXX language.)
Line 786:
 
There are 29 years in the range that do not have months with five weekends</pre>
 
 
=={{header|REXX}}==
<lang rexx>
/*REXX program finds months with 5 weekends in them (given a date range)*/
 
parse arg yStart yStop .
if yStart=='' then yStart=1900
if yStop =='' then yStop =2100
years=ystop-yStart+1
month. =31 /*month days, Feb. is done later.*/
month.4 =30
month.6 =30
month.9 =30
month.11=30
haps=0 /*num of five weekends happenings*/
yr5.=0 /*if a year has any five-weekends*/
 
do y=yStart to yStop /*process the years specified. */
do m=1 for 12; mm=right(m,2,0) /*process each month in each year*/
if m==2 then month.2=28+leapyear(y) /*handle num of days in Feb*/
wd.=0
do d=1 for month.m; dd=right(d,2,0)
dat_=y"-"mm'-'dd
_=left(date('W',dat_,"I"),2); upper _
wd._=wd._+1 /* _ is first 2 chars of weekday.*/
end /*d*/
if wd.su\==5 | wd.fr\==5 | wd.sa\==5 then iterate /*5 weekends ?*/
haps=haps+1 /*bump counter*/
say 'There are five weekends in' y date('M',dat_,"I")
yr5.y=1 /*indicate this year has one. */
end /*m*/
end /*y*/
 
say
say 'There were' haps "occurance"s(haps) 'of five-weekend months in',
"year"s(years) yStart'-->'yStop
say
no5s=0
 
do y=yStart to yStop
if yr5.y then iterate
no5s=no5s+1
say y "doesn't have any five-weekend months."
end
 
say
say "There are" no5s 'year's(no5s),
"that haven't any five-weekend months in year"s(years) yStart'-->'yStop
exit
 
 
/*─────────────────────────────────────LEAPYEAR subroutine──────────────*/
leapyear: procedure; arg y /*year could be: Y, YY, YYY, YYYY*/
if length(y)==2 then y=left(right(date(),4),2)y /*adjust for YY year.*/
if y//4\==0 then return 0 /* not ≈ by 4? Not a leapyear.*/
return y//100\==0 | y//400==0 /*apply 100 and 400 year rule. */
 
 
/*─────────────────────────────────────S subroutine (for plurals)───────*/
s: if arg(1)==1 then return arg(3); return word(arg(2) 's',1)
</lang>
Output:
<pre style="height:30ex;overflow:scroll">
There are five weekends in 1901 March
There are five weekends in 1902 August
There are five weekends in 1903 May
There are five weekends in 1904 January
There are five weekends in 1904 July
There are five weekends in 1905 December
There are five weekends in 1907 March
There are five weekends in 1908 May
There are five weekends in 1909 January
There are five weekends in 1909 October
There are five weekends in 1910 July
There are five weekends in 1911 December
There are five weekends in 1912 March
There are five weekends in 1913 August
There are five weekends in 1914 May
There are five weekends in 1915 January
There are five weekends in 1915 October
There are five weekends in 1916 December
There are five weekends in 1918 March
There are five weekends in 1919 August
There are five weekends in 1920 October
There are five weekends in 1921 July
There are five weekends in 1922 December
There are five weekends in 1924 August
There are five weekends in 1925 May
There are five weekends in 1926 January
There are five weekends in 1926 October
There are five weekends in 1927 July
There are five weekends in 1929 March
There are five weekends in 1930 August
There are five weekends in 1931 May
There are five weekends in 1932 January
There are five weekends in 1932 July
There are five weekends in 1933 December
There are five weekends in 1935 March
There are five weekends in 1936 May
There are five weekends in 1937 January
There are five weekends in 1937 October
There are five weekends in 1938 July
There are five weekends in 1939 December
There are five weekends in 1940 March
There are five weekends in 1941 August
There are five weekends in 1942 May
There are five weekends in 1943 January
There are five weekends in 1943 October
There are five weekends in 1944 December
There are five weekends in 1946 March
There are five weekends in 1947 August
There are five weekends in 1948 October
There are five weekends in 1949 July
There are five weekends in 1950 December
There are five weekends in 1952 August
There are five weekends in 1953 May
There are five weekends in 1954 January
There are five weekends in 1954 October
There are five weekends in 1955 July
There are five weekends in 1957 March
There are five weekends in 1958 August
There are five weekends in 1959 May
There are five weekends in 1960 January
There are five weekends in 1960 July
There are five weekends in 1961 December
There are five weekends in 1963 March
There are five weekends in 1964 May
There are five weekends in 1965 January
There are five weekends in 1965 October
There are five weekends in 1966 July
There are five weekends in 1967 December
There are five weekends in 1968 March
There are five weekends in 1969 August
There are five weekends in 1970 May
There are five weekends in 1971 January
There are five weekends in 1971 October
There are five weekends in 1972 December
There are five weekends in 1974 March
There are five weekends in 1975 August
There are five weekends in 1976 October
There are five weekends in 1977 July
There are five weekends in 1978 December
There are five weekends in 1980 August
There are five weekends in 1981 May
There are five weekends in 1982 January
There are five weekends in 1982 October
There are five weekends in 1983 July
There are five weekends in 1985 March
There are five weekends in 1986 August
There are five weekends in 1987 May
There are five weekends in 1988 January
There are five weekends in 1988 July
There are five weekends in 1989 December
There are five weekends in 1991 March
There are five weekends in 1992 May
There are five weekends in 1993 January
There are five weekends in 1993 October
There are five weekends in 1994 July
There are five weekends in 1995 December
There are five weekends in 1996 March
There are five weekends in 1997 August
There are five weekends in 1998 May
There are five weekends in 1999 January
There are five weekends in 1999 October
There are five weekends in 2000 December
There are five weekends in 2002 March
There are five weekends in 2003 August
There are five weekends in 2004 October
There are five weekends in 2005 July
There are five weekends in 2006 December
There are five weekends in 2008 August
There are five weekends in 2009 May
There are five weekends in 2010 January
There are five weekends in 2010 October
There are five weekends in 2011 July
There are five weekends in 2013 March
There are five weekends in 2014 August
There are five weekends in 2015 May
There are five weekends in 2016 January
There are five weekends in 2016 July
There are five weekends in 2017 December
There are five weekends in 2019 March
There are five weekends in 2020 May
There are five weekends in 2021 January
There are five weekends in 2021 October
There are five weekends in 2022 July
There are five weekends in 2023 December
There are five weekends in 2024 March
There are five weekends in 2025 August
There are five weekends in 2026 May
There are five weekends in 2027 January
There are five weekends in 2027 October
There are five weekends in 2028 December
There are five weekends in 2030 March
There are five weekends in 2031 August
There are five weekends in 2032 October
There are five weekends in 2033 July
There are five weekends in 2034 December
There are five weekends in 2036 August
There are five weekends in 2037 May
There are five weekends in 2038 January
There are five weekends in 2038 October
There are five weekends in 2039 July
There are five weekends in 2041 March
There are five weekends in 2042 August
There are five weekends in 2043 May
There are five weekends in 2044 January
There are five weekends in 2044 July
There are five weekends in 2045 December
There are five weekends in 2047 March
There are five weekends in 2048 May
There are five weekends in 2049 January
There are five weekends in 2049 October
There are five weekends in 2050 July
There are five weekends in 2051 December
There are five weekends in 2052 March
There are five weekends in 2053 August
There are five weekends in 2054 May
There are five weekends in 2055 January
There are five weekends in 2055 October
There are five weekends in 2056 December
There are five weekends in 2058 March
There are five weekends in 2059 August
There are five weekends in 2060 October
There are five weekends in 2061 July
There are five weekends in 2062 December
There are five weekends in 2064 August
There are five weekends in 2065 May
There are five weekends in 2066 January
There are five weekends in 2066 October
There are five weekends in 2067 July
There are five weekends in 2069 March
There are five weekends in 2070 August
There are five weekends in 2071 May
There are five weekends in 2072 January
There are five weekends in 2072 July
There are five weekends in 2073 December
There are five weekends in 2075 March
There are five weekends in 2076 May
There are five weekends in 2077 January
There are five weekends in 2077 October
There are five weekends in 2078 July
There are five weekends in 2079 December
There are five weekends in 2080 March
There are five weekends in 2081 August
There are five weekends in 2082 May
There are five weekends in 2083 January
There are five weekends in 2083 October
There are five weekends in 2084 December
There are five weekends in 2086 March
There are five weekends in 2087 August
There are five weekends in 2088 October
There are five weekends in 2089 July
There are five weekends in 2090 December
There are five weekends in 2092 August
There are five weekends in 2093 May
There are five weekends in 2094 January
There are five weekends in 2094 October
There are five weekends in 2095 July
There are five weekends in 2097 March
There are five weekends in 2098 August
There are five weekends in 2099 May
There are five weekends in 2100 January
There are five weekends in 2100 October
 
There were 201 occurances of five-weekend months in years 1900-->2100
 
1900 doesn't have any five-weekend months.
1906 doesn't have any five-weekend months.
1917 doesn't have any five-weekend months.
1923 doesn't have any five-weekend months.
1928 doesn't have any five-weekend months.
1934 doesn't have any five-weekend months.
1945 doesn't have any five-weekend months.
1951 doesn't have any five-weekend months.
1956 doesn't have any five-weekend months.
1962 doesn't have any five-weekend months.
1973 doesn't have any five-weekend months.
1979 doesn't have any five-weekend months.
1984 doesn't have any five-weekend months.
1990 doesn't have any five-weekend months.
2001 doesn't have any five-weekend months.
2007 doesn't have any five-weekend months.
2012 doesn't have any five-weekend months.
2018 doesn't have any five-weekend months.
2029 doesn't have any five-weekend months.
2035 doesn't have any five-weekend months.
2040 doesn't have any five-weekend months.
2046 doesn't have any five-weekend months.
2057 doesn't have any five-weekend months.
2063 doesn't have any five-weekend months.
2068 doesn't have any five-weekend months.
2074 doesn't have any five-weekend months.
2085 doesn't have any five-weekend months.
2091 doesn't have any five-weekend months.
2096 doesn't have any five-weekend months.
 
There are 29 years that haven't any five-weekend months in years 1900-->2100
</pre>
 
=={{header|Ruby}}==