Five weekends: Difference between revisions
Content added Content deleted
(added Fortran) |
m (→{{header|REXX}}: added REXX language.) |
||
Line 786: | Line 786: | ||
There are 29 years in the range that do not have months with five weekends</pre> |
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}}== |
=={{header|Ruby}}== |