parent
a882a9eca4
commit
453ad1b116
@ -1,17 +1,32 @@
|
||||
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:
|
||||
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)
|
||||
|
||||
print(hanoi(4,"A","B","C"))
|
||||
|
||||
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))
|
||||
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
//~ Function that test the user code
|
||||
|
||||
async function submit(){
|
||||
var test = editor.getValue()+`\n
|
||||
import random as r
|
||||
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 hanoiVerif(nb_disks,start, middle, end):
|
||||
l=[]
|
||||
hanoi_rec(l,nb_disks,start, middle, end)
|
||||
return l
|
||||
|
||||
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))
|
||||
`;
|
||||
exec("print ('True')", "code");
|
||||
exec(test, "solution");
|
||||
result.innerHTML = "Test en cours...";
|
||||
await new Promise(r => setTimeout(r, 1500));
|
||||
check();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,38 @@
|
||||
//~ Function that test the user code
|
||||
|
||||
async function submit(){
|
||||
var test = editor.getValue()+`\n
|
||||
import random as r
|
||||
def estTriangleDePascal(n):
|
||||
if(n==0):
|
||||
return []
|
||||
if(n==1):
|
||||
return [[1]]
|
||||
triangle=[[1],[1, 1]]
|
||||
columns=n
|
||||
for line in range(2,n):
|
||||
triangle.append([1])
|
||||
for column in range(1, line):
|
||||
triangle[line].append(triangle[line - 1][column - 1] + triangle[line - 1][column])
|
||||
triangle[line].append(1)
|
||||
return triangle
|
||||
|
||||
def testTriangleDePascal(n):
|
||||
listTest=[0,1]
|
||||
for i in range(0,n):
|
||||
listTest.append(r.randint(5,140))
|
||||
for i in listTest:
|
||||
if(TriangleDePascal(i)!=estTriangleDePascal(i)):
|
||||
return False
|
||||
return True
|
||||
|
||||
print(testTriangleDePascal(5))
|
||||
`;
|
||||
exec("print ('True')", "code");
|
||||
exec(test, "solution");
|
||||
result.innerHTML = "Test en cours...";
|
||||
await new Promise(r => setTimeout(r, 1500));
|
||||
check();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in new issue