Beschleunigen Sie dieses Python-Skript, das alle EINZIGARTIGEN Partitionen einer Zahl in Python drucktPython

Python-Programme
Guest
 Beschleunigen Sie dieses Python-Skript, das alle EINZIGARTIGEN Partitionen einer Zahl in Python druckt

Post by Guest »

Dieser Code führt eine Menge unnötiger Verarbeitung durch. Beispielsweise ist für die Nummer 3 eine ihrer Partitionen 1+1+1, aber es findet auch nach der ersten weiterhin „1+1+1“. Es gibt insgesamt 6. Wie kann ich es nach dem ersten stoppen?

Code: Select all

def perm(a,k=0):
if k==len(a):
permstr=''
for i in range(len(a)):
permstr=permstr+str(a[i])
if int(permstr) not in permslist:
permslist.append(int(permstr))
else:
for i in range(k,len(a)):
a[k],a[i] =a[i],a[k]
perm(a,k+1)
a[k],a[i] =a[i],a[k]

def sumways(n,size,limit):
if limit is None:
limit=n
if size==1:
if nmaxave:
maxave=ave
maxaveat=permslist[i]
print(n,len(permslist),maxave,maxaveat,permslist)
print()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post