September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,7 +0,0 @@
|
|||
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))
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
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))
|
||||
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