Advertisement
Guest User

Untitled

a guest
May 25th, 2024
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.69 KB | Source Code | 0 0
  1. Lista = [20,20,20,20,20]
  2. Lista.sort()
  3. lunghezza = len(Lista)
  4.  
  5. def NonEternoRitorno3(Lista,lunghezza,valori={},valori_complicanti_attuali={},n=0,salva=False):
  6.     if (len(Lista)%2==0):
  7.         Nnumeri=len(Lista)/2
  8.         for num in range(0,int(Nnumeri)*2,2):
  9.             if num==int(Nnumeri)*2-2:
  10.                 salva=True
  11.             if valori_complicanti_attuali=={}:
  12.                 valori_complicanti_attuali={0:1}
  13.             valori_complicanti_precedenti = valori_complicanti_attuali
  14.             valori_complicanti_attuali={}
  15.             for key in valori_complicanti_precedenti.keys():
  16.                 for x in range(1,Lista[-1-num]+1):
  17.                     if x>Lista[-2-num]:
  18.                         sott = x-Lista[-2-num]
  19.                     else:
  20.                         sott = 0
  21.                     try:
  22.                         valore =(x-sott)*valori_complicanti_precedenti[key]
  23.                         try:
  24.                             if valore>0:valori_complicanti_attuali[x+key+1+n]=valore + valori_complicanti_attuali[x+key+1+n]
  25.                         except:
  26.                             if valore>0:valori_complicanti_attuali[x+key+1+n]=valore
  27.                         if salva==True and valore>0:
  28.                             valori[x+key+1+n] = valore + valori[x+key+1+n]
  29.                     except:
  30.                         valore=(x-sott)*valori_complicanti_precedenti[key]
  31.                         try:
  32.                             if valore>0:valori_complicanti_attuali[x+key+1+n]=valore + valori_complicanti_attuali[x+key+1+n]
  33.                         except:
  34.                             if valore>0:valori_complicanti_attuali[x+key+1+n]=valore
  35.                         if salva==True and valore>0:
  36.                             valori[x+key+1+n] = valore
  37.  
  38.                 #print(valori)
  39.                 #input()
  40.  
  41.                 for y in range(2,Lista[-2-num]+2):
  42.                     N=Lista[-1-num]+y+key+n
  43.                     try:
  44.                         valore = (Lista[-1-num]+y-1-2*(y-1)-(Lista[-1-num]-Lista[-2-num]))*valori_complicanti_precedenti[key]
  45.                         try:
  46.                             if valore>0:valori_complicanti_attuali[N]=valore+ valori_complicanti_attuali[N]
  47.                         except:
  48.                             if valore>0:valori_complicanti_attuali[N]=valore
  49.                         if salva==True and valore>0:
  50.                             valori[N] = valori[N] + valore
  51.                     except:
  52.                         valore = (Lista[-1-num]+y-1-2*(y-1)-(Lista[-1-num]-Lista[-2-num]))*valori_complicanti_precedenti[key]
  53.                         try:
  54.                             if valore>0:valori_complicanti_attuali[N]=valore+ valori_complicanti_attuali[N]
  55.                         except:
  56.                             if valore>0:valori_complicanti_attuali[N]=valore
  57.                         if salva==True and valore>0:
  58.                             valori[N] = valore
  59.                 #print(valori)
  60.                 #input()
  61.     if (len(Lista)%2)!=0 and (len(Lista)!=1):
  62.         Elemento = Lista[0]
  63.         Lista.pop(0)
  64.         for x in range(1,Elemento+1):
  65.                 valori_complicanti_attuali[x] = 1
  66.         valori = NonEternoRitorno3(Lista=Lista,lunghezza=lunghezza, valori_complicanti_attuali=valori_complicanti_attuali)
  67.     elif (len(Lista)==1):
  68.         for x in range(1,Lista[-1]+1):
  69.             try:
  70.                 valore =1
  71.                 if valore>0:
  72.                     valori[x] = valore + valori[x+key+1+n]
  73.             except:
  74.                 valore=1
  75.                 if valore>0:
  76.                     valori[x] = valore
  77.  
  78.     return valori
  79.  
  80. valori= NonEternoRitorno3(Lista=Lista,lunghezza=lunghezza)
  81. print(valori)
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement