ich ein Programm in Python schreiben keine Kombinationen von Seriedie von Python-Programm löschte drucken basierend auf Permituation und Kombination
gibt es einen Würfel zu finden, die 6 Gesichter hat.
Benutzereingabe 2
dann wird das aus ist, da keine der Zählung gezeigt, wo zwei in Kombinationen kommen wird
ab, wenn wir Würfel die maximal zwei Würfel geworfen sind erforderlich, um zu bekommen 2 als Summe für werfen
(1+1) and (2) so count is 2
, wenn ich für Summe von 3 werfen, die out-Put ist
(1+1+1),(1+2),(2+1),(3) so count is 4 enter code here
, wenn ich für Summe von 4 werfen dann setzen die aus ist
(1+1+1+1),(1+1+2),(1+2+1),(2+1+1),(2+2),(3+1),(1+3),(4) count is 8
Ich schreibe der Code ist
# I am considering the Board is horizontal single line
def count_values(values,num):
for i in range(num):
print(values[i]," ",end='')
print('')
def print_list(out_put,values,num,count=0,show=False):
dice=6
if num == 0:
count_values(values,count)
out_put[0] += 1
elif num > 0:
for k in range(1,dice+1):
values[count] = k
print_list(out_put,values,num-k, count+1,show)
n=int(input('Enter A number'))
values=[0]*n
out_put=[0]
print_list(out_put,values,n)
print(out_put)
es put für kleine Eingänge zeigt out mag 10,20,30 aber ich will die aus für 100 und 500 und 610 wie Eingänge setzen, aber mehr Zeit bekommen (etwa 5-6 Stunden laufen noch) und die Anzahl der Kombination mehr als 1145201564 noch ist irgendeine hat Lösung für dieses
ZählenJeder hat irgendeine Lösung. für diesen
Es sieht aus wie Du zählst [Partitionen] (https://en.wikipedia.org/wiki/Partition_ (number_theory)). Wenn Sie sie auch generieren müssen, lesen Sie [diese Frage] (https://stackoverflow.com/questions/400794/generating-the-partitions-of-a-number) –
Vielen Dank für den Vorschlag. aber ich habe eine lösung mit numpy library, es gibt sehr schnell –