You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
811 B
33 lines
811 B
import random as r
|
|
def hanoi(nb_disks,start, middle, end):
|
|
l=[]
|
|
hanoi_rec(l,nb_disks,start, middle, end)
|
|
return l
|
|
|
|
def hanoiVerif(nb_disks,start, middle, end):
|
|
l=[]
|
|
hanoi_rec(l,nb_disks,start, middle, end)
|
|
return l
|
|
|
|
|
|
def hanoi_rec(l,nb_disks, start, middle, end):
|
|
if(nb_disks == 1):
|
|
return l.append([start,end])
|
|
else:
|
|
hanoi_rec(l,nb_disks - 1, start, end, middle)
|
|
l.append([start,end])
|
|
hanoi_rec(l,nb_disks - 1, middle, start, end)
|
|
|
|
def testhanoi(x):
|
|
if(hanoi(3,"A","B","C")!=[['A','C'],['A','B'],['C','B'],['A','C'],['B','A'],['B','C'],['A','C']]):
|
|
return False
|
|
for i in range(x):
|
|
j=r.randint(1,4)
|
|
if(hanoi(j,"Z","E","R")!=hanoiVerif(j,"Z","E","R")):
|
|
return False
|
|
return True
|
|
|
|
print(testhanoi(5))
|
|
|
|
|