September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 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 "Reslut: ", $ackermann(first, second)
|
||||
Loading…
Add table
Add a link
Reference in a new issue