langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
45
Task/Leap-year/NetRexx/leap-year.netrexx
Normal file
45
Task/Leap-year/NetRexx/leap-year.netrexx
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/* NetRexx */
|
||||
|
||||
options replace format comments java crossref savelog symbols nobinary
|
||||
|
||||
years = '1500 1580 1581 1582 1583 1584 1600 1700 1800 1900 1994 1996 1997 2000 2004 2008 2009 2010 2011 2012 2100 2200 2300 2400 2500 2600'
|
||||
years['l-a'] = ''
|
||||
years['n-a'] = ''
|
||||
years['l-j'] = ''
|
||||
years['n-j'] = ''
|
||||
|
||||
loop y_ = 1 to years.words
|
||||
year = years.word(y_)
|
||||
if isLeapyear(year) then years['l-a'] = years['l-a'] year
|
||||
else years['n-a'] = years['n-a'] year
|
||||
if GregorianCalendar().isLeapYear(year) then years['l-j'] = years['l-j'] year
|
||||
else years['n-j'] = years['n-j'] year
|
||||
end y_
|
||||
|
||||
years['l-a'] = years['l-a'].strip
|
||||
years['n-a'] = years['n-a'].strip
|
||||
years['l-j'] = years['l-j'].strip
|
||||
years['n-j'] = years['n-j'].strip
|
||||
|
||||
say ' Sample years:' years['all'].changestr(' ', ',')
|
||||
say ' Leap years (algorithmically):' years['l-a'].changestr(' ', ',')
|
||||
say ' Leap years (Java library) :' years['l-j'].changestr(' ', ',')
|
||||
say ' Non-leap years (algorithmically):' years['n-a'].changestr(' ', ',')
|
||||
say ' Non-leap years (Java library) :' years['n-j'].changestr(' ', ',')
|
||||
|
||||
return
|
||||
|
||||
-- algorithmically
|
||||
method isLeapyear(year = int) public constant binary returns boolean
|
||||
select
|
||||
when year // 400 = 0 then ly = isTrue
|
||||
when year // 100 \= 0 & year // 4 = 0 then ly = isTrue
|
||||
otherwise ly = isFalse
|
||||
end
|
||||
return ly
|
||||
|
||||
method isTrue public constant binary returns boolean
|
||||
return 1 == 1
|
||||
|
||||
method isFalse public constant binary returns boolean
|
||||
return \isTrue
|
||||
4
Task/Leap-year/OCaml/leap-year-1.ocaml
Normal file
4
Task/Leap-year/OCaml/leap-year-1.ocaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
let is_leap_year ~year =
|
||||
if (year mod 100) = 0
|
||||
then (year mod 400) = 0
|
||||
else (year mod 4) = 0
|
||||
10
Task/Leap-year/OCaml/leap-year-2.ocaml
Normal file
10
Task/Leap-year/OCaml/leap-year-2.ocaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
let is_leap_year ~year =
|
||||
let tm =
|
||||
Unix.mktime {
|
||||
(Unix.gmtime (Unix.time())) with
|
||||
Unix.tm_year = (year - 1900);
|
||||
tm_mon = 1 (* feb *);
|
||||
tm_mday = 29
|
||||
}
|
||||
in
|
||||
(tm.Unix.tm_mday = 29)
|
||||
16
Task/Leap-year/Oberon-2/leap-year.oberon-2
Normal file
16
Task/Leap-year/Oberon-2/leap-year.oberon-2
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
PROCEDURE IsLeapYear(year: INTEGER): BOOLEAN;
|
||||
BEGIN
|
||||
IF year MOD 4 # 0 THEN
|
||||
RETURN FALSE
|
||||
ELSE
|
||||
IF year MOD 100 = 0 THEN
|
||||
IF year MOD 400 = 0 THEN
|
||||
RETURN TRUE
|
||||
ELSE
|
||||
RETURN FALSE
|
||||
END
|
||||
ELSE
|
||||
RETURN TRUE
|
||||
END
|
||||
END
|
||||
END IsLeapYear;
|
||||
27
Task/Leap-year/Objeck/leap-year.objeck
Normal file
27
Task/Leap-year/Objeck/leap-year.objeck
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
bundle Default {
|
||||
class LeapYear {
|
||||
function : Main(args : String[]) ~ Nil {
|
||||
test_case := [1900, 1994, 1996, 1997, 2000];
|
||||
each(i : test_case) {
|
||||
test_case[i]->Print();
|
||||
if(IsLeapYear(test_case[i])) {
|
||||
" is a leap year."->PrintLine();
|
||||
}
|
||||
else {
|
||||
" is not a leap year."->PrintLine();
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
function : native : IsLeapYear(year : Int) ~ Bool {
|
||||
if(year % 4 = 0 & year % 100 <> 0) {
|
||||
return true;
|
||||
}
|
||||
else if(year % 400 = 0) {
|
||||
return true;
|
||||
};
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
16
Task/Leap-year/OpenEdge-Progress/leap-year.openedge
Normal file
16
Task/Leap-year/OpenEdge-Progress/leap-year.openedge
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
FUNCTION isLeapYear RETURNS LOGICAL (
|
||||
i_iyear AS INTEGER
|
||||
):
|
||||
|
||||
DATE( 2, 29, i_iyear ) NO-ERROR.
|
||||
RETURN NOT ERROR-STATUS:ERROR.
|
||||
|
||||
END FUNCTION. /* isLeapYear */
|
||||
|
||||
MESSAGE
|
||||
1900 isLeapYear( 1900 ) SKIP
|
||||
1994 isLeapYear( 1994 ) SKIP
|
||||
1996 isLeapYear( 1996 ) SKIP
|
||||
1997 isLeapYear( 1997 ) SKIP
|
||||
2000 isLeapYear( 2000 )
|
||||
VIEW-AS ALERT-BOX.
|
||||
16
Task/Leap-year/Oz/leap-year.oz
Normal file
16
Task/Leap-year/Oz/leap-year.oz
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
declare
|
||||
fun {IsLeapYear Year}
|
||||
case Year mod 100 of 0 then
|
||||
Year mod 400 == 0
|
||||
else
|
||||
Year mod 4 == 0
|
||||
end
|
||||
end
|
||||
in
|
||||
for Y in [1900 1996 1997 2000] do
|
||||
if {IsLeapYear Y} then
|
||||
{System.showInfo Y#" is a leap year."}
|
||||
else
|
||||
{System.showInfo Y#" is NOT a leap year."}
|
||||
end
|
||||
end
|
||||
5
Task/Leap-year/PARI-GP/leap-year-1.pari
Normal file
5
Task/Leap-year/PARI-GP/leap-year-1.pari
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
isLeap(n)={
|
||||
if(n%400==0, return(1));
|
||||
if(n%100==0, return(0));
|
||||
n%4==0
|
||||
};
|
||||
1
Task/Leap-year/PARI-GP/leap-year-2.pari
Normal file
1
Task/Leap-year/PARI-GP/leap-year-2.pari
Normal file
|
|
@ -0,0 +1 @@
|
|||
isLeap(n)=!(n%if(n%100,4,400))
|
||||
6
Task/Leap-year/PARI-GP/leap-year-3.pari
Normal file
6
Task/Leap-year/PARI-GP/leap-year-3.pari
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
isLeap(n)={
|
||||
if(n%4,0,
|
||||
n%100,1,
|
||||
n%400,0,1
|
||||
)
|
||||
};
|
||||
11
Task/Leap-year/PL-I/leap-year.pli
Normal file
11
Task/Leap-year/PL-I/leap-year.pli
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
dcl mod builtin;
|
||||
dcl year fixed bin (31);
|
||||
|
||||
do year = 1900, 1996 to 2001;
|
||||
if mod(year, 4) = 0 &
|
||||
(mod(year, 100) ^= 0 |
|
||||
mod(year, 400) = 0) then
|
||||
put skip edit(year, 'is a leap year') (p'9999b', a);
|
||||
else
|
||||
put skip edit(year, 'is not a leap year') (p'9999b', a)'
|
||||
end;
|
||||
1
Task/Leap-year/Perl-6/leap-year-1.pl6
Normal file
1
Task/Leap-year/Perl-6/leap-year-1.pl6
Normal file
|
|
@ -0,0 +1 @@
|
|||
say "$year is a {Date.is-leap-year($year) ?? 'leap' !! 'common'} year."
|
||||
3
Task/Leap-year/Perl-6/leap-year-2.pl6
Normal file
3
Task/Leap-year/Perl-6/leap-year-2.pl6
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
multi method is-leap-year($y = $!year) {
|
||||
$y %% 4 and not $y %% 100 or $y %% 400
|
||||
}
|
||||
10
Task/Leap-year/PostScript/leap-year.ps
Normal file
10
Task/Leap-year/PostScript/leap-year.ps
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/isleapyear {
|
||||
dup dup
|
||||
4 mod 0 eq % needs to be divisible by 4
|
||||
exch
|
||||
100 mod 0 ne % but not by 100
|
||||
and
|
||||
exch
|
||||
400 mod 0 eq % or by 400
|
||||
or
|
||||
} def
|
||||
12
Task/Leap-year/PowerShell/leap-year.psh
Normal file
12
Task/Leap-year/PowerShell/leap-year.psh
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
function isLeapYear ($year)
|
||||
{
|
||||
If (([System.Int32]::TryParse($year, [ref]0)) -and ($year -le 9999))
|
||||
{
|
||||
$bool = [datetime]::isleapyear($year)
|
||||
}
|
||||
else
|
||||
{
|
||||
throw "Year format invalid. Use only numbers up to 9999."
|
||||
}
|
||||
return $bool
|
||||
}
|
||||
7
Task/Leap-year/PureBasic/leap-year.purebasic
Normal file
7
Task/Leap-year/PureBasic/leap-year.purebasic
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
Procedure isLeapYear(Year)
|
||||
If (Year%4=0 And Year%100) Or Year%400=0
|
||||
ProcedureReturn #True
|
||||
Else
|
||||
ProcedureReturn #False
|
||||
EndIf
|
||||
EndProcedure
|
||||
15
Task/Leap-year/REBOL/leap-year.rebol
Normal file
15
Task/Leap-year/REBOL/leap-year.rebol
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
leap-year?: func [
|
||||
{Returns true if the specified year is a leap year; false otherwise.}
|
||||
year [date! integer!]
|
||||
/local div?
|
||||
][
|
||||
either date? year [year: year/year] [
|
||||
if negative? year [throw make error! join [script invalid-arg] year]
|
||||
]
|
||||
; The key numbers are 4, 100, and 400, combined as follows:
|
||||
; 1) If the year is divisible by 4, it’s a leap year.
|
||||
; 2) But, if the year is also divisible by 100, it’s not a leap year.
|
||||
; 3) Double but, if the year is also divisible by 400, it is a leap year.
|
||||
div?: func [n] [zero? year // n]
|
||||
to logic! any [all [div? 4 not div? 100] div? 400]
|
||||
]
|
||||
4
Task/Leap-year/Retro/leap-year.retro
Normal file
4
Task/Leap-year/Retro/leap-year.retro
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
: isLeapYear? ( y-f )
|
||||
dup 400 mod 0 = [ drop -1 0 ] [ 1 ] if 0; drop
|
||||
dup 100 mod 0 = [ drop 0 0 ] [ 1 ] if 0; drop
|
||||
4 mod 0 = ;
|
||||
1
Task/Leap-year/Run-BASIC/leap-year.run
Normal file
1
Task/Leap-year/Run-BASIC/leap-year.run
Normal file
|
|
@ -0,0 +1 @@
|
|||
if date$("02/29/" + mid$(date$("mm/dd/yyyy"),7,4)) then print "leap year" else print "not"
|
||||
13
Task/Leap-year/SNOBOL4/leap-year.sno
Normal file
13
Task/Leap-year/SNOBOL4/leap-year.sno
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
define('leap(yr)') :(end_leap)
|
||||
leap eq(remdr(yr,400),0) :s(return)
|
||||
eq(remdr(yr,100),0) :s(freturn)
|
||||
eq(remdr(yr,4),0) :s(return)f(freturn)
|
||||
end_leap
|
||||
|
||||
* # Test and display (with ?: kluge)
|
||||
test = "output = ('10' ? (*leap(yr) 1 | 0)) ': ' yr"
|
||||
yr = '1066'; eval(test)
|
||||
yr = '1492'; eval(test)
|
||||
yr = '1900'; eval(test)
|
||||
yr = '2000'; eval(test)
|
||||
end
|
||||
2
Task/Leap-year/Seed7/leap-year.seed7
Normal file
2
Task/Leap-year/Seed7/leap-year.seed7
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
const func boolean: isLeapYear (in integer: year) is
|
||||
return (year rem 4 = 0 and year rem 100 <> 0) or year rem 400 = 0;
|
||||
6
Task/Leap-year/TUSCRIPT/leap-year.tuscript
Normal file
6
Task/Leap-year/TUSCRIPT/leap-year.tuscript
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
$$ MODE TUSCRIPT
|
||||
LOOP year="1900'1994'1996'1997'2000",txt=""
|
||||
SET dayoftheweek=DATE(number,29,2,year,number)
|
||||
IF (dayoftheweek==0) SET txt="not "
|
||||
PRINT year," is ",txt,"a leap year"
|
||||
ENDLOOP
|
||||
6
Task/Leap-year/UNIX-Shell/leap-year-1.sh
Normal file
6
Task/Leap-year/UNIX-Shell/leap-year-1.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
leap() {
|
||||
if expr $1 % 4 >/dev/null; then return 1; fi
|
||||
if expr $1 % 100 >/dev/null; then return 0; fi
|
||||
if expr $1 % 400 >/dev/null; then return 1; fi
|
||||
return 0;
|
||||
}
|
||||
3
Task/Leap-year/UNIX-Shell/leap-year-2.sh
Normal file
3
Task/Leap-year/UNIX-Shell/leap-year-2.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
leap() {
|
||||
date -d "$1-02-29" >/dev/null 2>&1;
|
||||
}
|
||||
8
Task/Leap-year/Vedit-macro-language/leap-year-1.vedit
Normal file
8
Task/Leap-year/Vedit-macro-language/leap-year-1.vedit
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
while (#1 = Get_Num("Year: ")) {
|
||||
#2 = (#1 % 4 == 0) && ((#1 % 100 != 0) || (#1 % 400 == 0))
|
||||
if (#2) {
|
||||
Message(" is leap year\n")
|
||||
} else {
|
||||
Message(" is not leap year\n")
|
||||
}
|
||||
}
|
||||
7
Task/Leap-year/Vedit-macro-language/leap-year-2.vedit
Normal file
7
Task/Leap-year/Vedit-macro-language/leap-year-2.vedit
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
while (#1 = Get_Num("Year: ")) {
|
||||
if (Is_Leap_Year(#1)) {
|
||||
Message(" is leap year\n")
|
||||
} else {
|
||||
Message(" is not leap year\n")
|
||||
}
|
||||
}
|
||||
5
Task/Leap-year/XPL0/leap-year.xpl0
Normal file
5
Task/Leap-year/XPL0/leap-year.xpl0
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
func LeapYear(Y); \Return 'true' if Y is a leap year
|
||||
int Y;
|
||||
[if rem(Y/100)=0 then return rem(Y/400)=0;
|
||||
return rem(Y/4)=0;
|
||||
];
|
||||
3
Task/Leap-year/Yorick/leap-year.yorick
Normal file
3
Task/Leap-year/Yorick/leap-year.yorick
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
func is_leap(y) {
|
||||
return ((y % 4 == 0) & (y % 100 != 0)) | (y % 400 == 0);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue