Last Friday of each month: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (obsolete) |
(Added Quackery.) |
||
Line 3,177: | Line 3,177: | ||
key=lambda x:int(x.split("-")[1])): |
key=lambda x:int(x.split("-")[1])): |
||
print item</lang> |
print item</lang> |
||
=={{header|Quackery}}== |
|||
<lang Quackery> [ over 3 < if [ 1 - ] |
|||
dup 4 / over + |
|||
over 100 / - |
|||
swap 400 / + |
|||
swap 1 - |
|||
[ table |
|||
0 3 2 5 0 3 |
|||
5 1 4 6 2 4 ] |
|||
+ + 7 mod ] is dayofweek ( day month year --> weekday ) |
|||
[ dup 400 mod 0 = iff |
|||
[ drop true ] done |
|||
dup 100 mod 0 = iff |
|||
[ drop false ] done |
|||
4 mod 0 = ] is leap ( year --> b ) |
|||
[ swap 1 - |
|||
[ table |
|||
31 [ dup leap 28 + ] |
|||
31 30 31 30 31 31 30 |
|||
31 30 31 ] |
|||
do nip ] is monthdays ( month year --> n ) |
|||
[ number$ |
|||
2 times |
|||
[ char - join |
|||
over 10 < if |
|||
[ char 0 join ] |
|||
swap number$ join ] |
|||
echo$ ] is echoymd ( day month year --> ) |
|||
[ dip |
|||
[ 2dup monthdays |
|||
dup temp put |
|||
unrot dayofweek ] |
|||
- dup 0 < if [ 7 + ] |
|||
temp take swap - ] is lastwkday ( month year wkd --> n ) |
|||
[ temp put |
|||
12 times |
|||
[ i^ 1+ over |
|||
2dup temp share lastwkday |
|||
unrot echoymd cr ] |
|||
drop temp release ] is lastwkdays ( year wkd --> ) |
|||
[ 5 lastwkdays ] is lastfridays ( year --> ) |
|||
2012 lastfridays</lang> |
|||
{{out}} |
|||
<pre>2012-01-27 |
|||
2012-02-24 |
|||
2012-03-30 |
|||
2012-04-27 |
|||
2012-05-25 |
|||
2012-06-29 |
|||
2012-07-27 |
|||
2012-08-31 |
|||
2012-09-28 |
|||
2012-10-26 |
|||
2012-11-30 |
|||
2012-12-28</pre> |
|||
=={{header|R}}== |
=={{header|R}}== |