Day of the week: Difference between revisions

Line 538:
output:
2011 2016 2022 2033 2039 2044 2050 2061 2067 2072 2078 2089 2095 2101 2107 2112 2118
 
=={{header|Erlang}}==
{{incorrect|Erlang|Some of the outputs are wrong, Please Check and sort it out. Most probably,there is some rounding errors.}}
<lang erlang>% Implemented by Arjun Sunel
-module(day_of_the_week).
-export([main/0 , wday/3]).
 
main() ->
lists:foreach(fun(X) -> io:format("~p~n",[wday(X,12,25)]) end, lists:seq(2008,2121)).
 
wday(Y,M,D) ->
A = (14 - M) / 12.0,
N = M + 12.0 * A - 2.0,
W = Y - A,
 
case {Y,M,D} of
{Y,M,D} ->
Z=(round(D + (13 * N - 1) / 5.0 +W + W / 4.0 - W / 100.0 + W / 400.0)+1)rem 7,
if
Z=:=0 ->
Y;
true ->
ok, no
end
end.
</lang>
{{out}}
<pre>no
no
no
2011
no
no
no
no
2016
no
no
no
no
no
2022
no
no
no
no
no
no
no
no
no
no
2033
no
no
no
no
no
2039
no
no
no
no
no
no
no
no
no
no
2050
no
no
no
no
no
2056
no
no
no
no
2061
no
no
no
no
no
2067
no
no
no
no
no
2073
no
no
no
no
2078
no
no
no
no
no
2084
no
no
no
no
no
no
no
no
no
no
2095
no
no
no
no
no
2101
no
no
no
no
no
no
no
no
no
no
2112
no
no
no
no
no
2118
no
no
no
ok
</pre>
 
=={{header|Euphoria}}==