Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
25
Task/Ackermann-function/Nim/ackermann-function.nim
Normal file
25
Task/Ackermann-function/Nim/ackermann-function.nim
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from strutils import parseInt
|
||||
|
||||
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))
|
||||
|
||||
proc getNumber(): int =
|
||||
try:
|
||||
result = stdin.readLine.parseInt
|
||||
except ValueError:
|
||||
echo "An integer, please!"
|
||||
result = getNumber()
|
||||
if result < 0:
|
||||
echo "Please Enter a non-negative Integer: "
|
||||
result = getNumber()
|
||||
|
||||
echo "First non-negative Integer please: "
|
||||
let first = getNumber()
|
||||
echo "Second non-negative Integer please: "
|
||||
let second = getNumber()
|
||||
echo "Result: ", $ackermann(first, second)
|
||||
Loading…
Add table
Add a link
Reference in a new issue