Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Lista = [20,20,20,20,20]
- Lista.sort()
- lunghezza = len(Lista)
- def NonEternoRitorno3(Lista,lunghezza,valori={},valori_complicanti_attuali={},n=0,salva=False):
- if (len(Lista)%2==0):
- Nnumeri=len(Lista)/2
- for num in range(0,int(Nnumeri)*2,2):
- if num==int(Nnumeri)*2-2:
- salva=True
- if valori_complicanti_attuali=={}:
- valori_complicanti_attuali={0:1}
- valori_complicanti_precedenti = valori_complicanti_attuali
- valori_complicanti_attuali={}
- for key in valori_complicanti_precedenti.keys():
- for x in range(1,Lista[-1-num]+1):
- if x>Lista[-2-num]:
- sott = x-Lista[-2-num]
- else:
- sott = 0
- try:
- valore =(x-sott)*valori_complicanti_precedenti[key]
- try:
- if valore>0:valori_complicanti_attuali[x+key+1+n]=valore + valori_complicanti_attuali[x+key+1+n]
- except:
- if valore>0:valori_complicanti_attuali[x+key+1+n]=valore
- if salva==True and valore>0:
- valori[x+key+1+n] = valore + valori[x+key+1+n]
- except:
- valore=(x-sott)*valori_complicanti_precedenti[key]
- try:
- if valore>0:valori_complicanti_attuali[x+key+1+n]=valore + valori_complicanti_attuali[x+key+1+n]
- except:
- if valore>0:valori_complicanti_attuali[x+key+1+n]=valore
- if salva==True and valore>0:
- valori[x+key+1+n] = valore
- #print(valori)
- #input()
- for y in range(2,Lista[-2-num]+2):
- N=Lista[-1-num]+y+key+n
- try:
- valore = (Lista[-1-num]+y-1-2*(y-1)-(Lista[-1-num]-Lista[-2-num]))*valori_complicanti_precedenti[key]
- try:
- if valore>0:valori_complicanti_attuali[N]=valore+ valori_complicanti_attuali[N]
- except:
- if valore>0:valori_complicanti_attuali[N]=valore
- if salva==True and valore>0:
- valori[N] = valori[N] + valore
- except:
- valore = (Lista[-1-num]+y-1-2*(y-1)-(Lista[-1-num]-Lista[-2-num]))*valori_complicanti_precedenti[key]
- try:
- if valore>0:valori_complicanti_attuali[N]=valore+ valori_complicanti_attuali[N]
- except:
- if valore>0:valori_complicanti_attuali[N]=valore
- if salva==True and valore>0:
- valori[N] = valore
- #print(valori)
- #input()
- if (len(Lista)%2)!=0 and (len(Lista)!=1):
- Elemento = Lista[0]
- Lista.pop(0)
- for x in range(1,Elemento+1):
- valori_complicanti_attuali[x] = 1
- valori = NonEternoRitorno3(Lista=Lista,lunghezza=lunghezza, valori_complicanti_attuali=valori_complicanti_attuali)
- elif (len(Lista)==1):
- for x in range(1,Lista[-1]+1):
- try:
- valore =1
- if valore>0:
- valori[x] = valore + valori[x+key+1+n]
- except:
- valore=1
- if valore>0:
- valori[x] = valore
- return valori
- valori= NonEternoRitorno3(Lista=Lista,lunghezza=lunghezza)
- print(valori)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement