Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
7
Task/Ackermann-function/Nim/ackermann-function-1.nim
Normal file
7
Task/Ackermann-function/Nim/ackermann-function-1.nim
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
proc Ackermann(m, n: int64): int64 =
|
||||
if m == 0:
|
||||
result = n + 1
|
||||
elif n == 0:
|
||||
result = Ackermann(m - 1, 1)
|
||||
else:
|
||||
result = Ackermann(m - 1, Ackermann(m, n - 1))
|
||||
32
Task/Ackermann-function/Nim/ackermann-function-2.nim
Normal file
32
Task/Ackermann-function/Nim/ackermann-function-2.nim
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
from strutils import parseInt
|
||||
|
||||
proc ackermann(m,n: int): int =
|
||||
var res: int
|
||||
if m == 0:
|
||||
res += n + 1
|
||||
elif m > 0 and n == 0:
|
||||
res += ackermann(m-1, 1)
|
||||
elif m > 0 and n > 0:
|
||||
res += ackermann(m-1, ackermann(m, n-1))
|
||||
return res
|
||||
|
||||
proc getnumber(): int =
|
||||
try:
|
||||
parseInt(readLine(stdin))
|
||||
except EInvalidValue:
|
||||
echo("Please enter an integer: ")
|
||||
getnumber()
|
||||
|
||||
echo("First number please: ")
|
||||
var first: int = getnumber()
|
||||
while first < 0:
|
||||
echo("Please enter a non-negative integer value.")
|
||||
first = getnumber()
|
||||
|
||||
echo("Second number please: ")
|
||||
var second: int = getnumber()
|
||||
while second < 0:
|
||||
echo("Please enter a non-negative integer value.")
|
||||
second = getnumber()
|
||||
|
||||
echo("Result: " & $ackermann(first, second))
|
||||
Loading…
Add table
Add a link
Reference in a new issue