School Commit Init
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
class Nod:
|
||||
def __init__(self, e):
|
||||
self.e = e
|
||||
self.urm = None
|
||||
|
||||
class Lista:
|
||||
def __init__(self):
|
||||
self.prim = None
|
||||
|
||||
|
||||
'''
|
||||
crearea unei liste din valori citite pana la 0
|
||||
'''
|
||||
def creareLista():
|
||||
lista = Lista()
|
||||
lista.prim = creareLista_rec()
|
||||
return lista
|
||||
|
||||
def creareLista_rec():
|
||||
x = int(input("x="))
|
||||
if x == 0:
|
||||
return None
|
||||
else:
|
||||
nod = Nod(x)
|
||||
nod.urm = creareLista_rec()
|
||||
return nod
|
||||
|
||||
'''
|
||||
tiparirea elementelor unei liste
|
||||
'''
|
||||
def tipar(lista):
|
||||
tipar_rec(lista.prim)
|
||||
|
||||
def tipar_rec(nod):
|
||||
if nod != None:
|
||||
print (nod.e)
|
||||
tipar_rec(nod.urm)
|
||||
|
||||
|
||||
'''
|
||||
program pentru test
|
||||
'''
|
||||
|
||||
def gcd(a, b):
|
||||
if b == 0:
|
||||
return a
|
||||
else:
|
||||
return gcd(b, a%b)
|
||||
|
||||
def lcm(a, b):
|
||||
return a*b//gcd(a, b)
|
||||
|
||||
def lcm_list(lista):
|
||||
if lista.prim == None:
|
||||
return 1
|
||||
else:
|
||||
new_list = Lista()
|
||||
new_list.prim = lista.prim.urm
|
||||
return lcm(lista.prim.e, lcm_list(new_list))
|
||||
|
||||
def f(lista, e, e1):
|
||||
if lista.prim == None:
|
||||
return Lista()
|
||||
if lista.prim.e != e:
|
||||
new_list = Lista()
|
||||
new_list.prim = lista.prim.urm
|
||||
lista_returnata = f(new_list, e, e1)
|
||||
lista_de_returnat = Lista()
|
||||
lista_de_returnat.prim = Nod(lista.prim.e)
|
||||
lista_de_returnat.prim.urm = lista_returnata.prim
|
||||
return lista_de_returnat
|
||||
else:
|
||||
new_list = Lista()
|
||||
new_list.prim = lista.prim.urm
|
||||
lista_returnata = f(new_list, e, e1)
|
||||
lista_de_returnat = Lista()
|
||||
lista_de_returnat.prim = Nod(e1)
|
||||
lista_de_returnat.prim.urm = lista_returnata.prim
|
||||
return lista_de_returnat
|
||||
|
||||
|
||||
|
||||
def main():
|
||||
list = creareLista()
|
||||
tipar(list)
|
||||
print(lcm_list(list))
|
||||
e=int(input("e="))
|
||||
e1=int(input("e1="))
|
||||
list1=f(list,e,e1)
|
||||
tipar(list1)
|
||||
|
||||
main()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user