TAMERE
unknown
plain_text
2 years ago
3.1 kB
11
Indexable
def is_correct(PRNG): test = True if True: for seed in range(100): #vérifie si tous les chiffres demandés apparaissent au moins une fois l = [] ok= [] ok1 = [] long = 10 p = PRNG(seed, long) for i in range (1000): l.append(p.next_int()) for i in range (long): ok.append(False) for i in range (long): ok1.append(True) for i in range (len(l)): a = l[i] if a < long and a >= 0: ok[a] = True if ok != ok1: test = False #Test s'il n'y a pas de nombre hors de l'intervalle for i in l: if i >= long or i < 0: test = False #Test si avec deux seed différentes le résultat est bien différent p1 = PRNG(seed+1, long) l1 = [] for i in range (1000): l1.append(p1.next_int()) if l1 == l: test = False #Test si avec la même seed le résultat est bien le même p2 = PRNG(seed, long) l2 = [] for i in range (1000): l2.append(p2.next_int()) if l2 != l: test = False #vérifie s'il n'y a pas une séquence répétitive test3 = False for i in range (len(l)): if i == 0: pass elif l[i] == l[0]: try: for j in range (25): if not l[i+j] == l[j]: test3 = True if test3 == False: test = False except: pass #vérifie s'il n'y a pas de suit arithmétique l3 = [] for i in range (len(l)-1): a = l[i+1] - l[i] l3.append(a) for nbr in range (len(l3)-1): l3[nbr] -= l3[nbr+1] if l3 == 0: test = False #vérifie s'il n'y a pas de suite géométrique l4 = [] for i in range (len(l)-1): if l[i] == 0: break b = l[i+1] / l[i] l4.append(b) for nbr in range (len(l4)-1): l4[nbr] -= l4[nbr+1] if l4 == 0: test = False return test
Editor is loading...