Sam Bridges
Hectopat
Daha fazla
- Cinsiyet
- Erkek
Python:
import itertools
def next_smaller(n):
digits_list = []
for char in str(n):
digits_list.append((int(char)))
digits_list.sort()
possible_numbers_list = list(itertools.permutations(digits_list))
for item in possible_numbers_list:
repetition = possible_numbers_list.count(item)
if repetition > 1:
for rep in range(repetition - 1):
possible_numbers_list.remove(item)
print(len(possible_numbers_list))
next_smaller(111456)
Kodda itertools ile permütasyon bulduğumda tekrarları çıkarmak için böyle bir kod yazdım. 111116 için bir sıkıntı yok, ancak neden 111456 gibi bir sette 120 yerine 145 farklı set buluyor? Bazı "farklı" setler de yanlış üstelik. Birden 1 tane olacağı yerde 6 tane 116451 var, gibi. Şimdiden çok teşekkür ederim.