Python ile Permütasyon Bulma
Kullanıcının girdiği sayı dizisinin tüm olası permütasyonlarını bulan Python programı.
def find_permutations(numbers):
permutations = []
current_perm = []
used = [False] * len(numbers)
generate_permutations(numbers, current_perm, used, permutations)
return permutations
def generate_permutations(numbers, current_perm, used, permutations):
if len(current_perm) == len(numbers):
permutations.append(list(current_perm))
return
for i in range(len(numbers)):
if not used[i]:
used[i] = True
current_perm.append(numbers[i])
generate_permutations(numbers, current_perm, used, permutations)
current_perm.pop()
used[i] = False
if __name__ == "__main__":
input_str = input("Sayıları virgülle ayırarak girin: ")
numbers = [int(s.strip()) for s in input_str.split(',')]
all_permutations = find_permutations(numbers)
print("Tüm permütasyonlar:")
for perm in all_permutations:
print(', '.join(map(str, perm)))
Python ile Verilen sayı dizisinin permütasyonlarını bulan fonksiyon.
def find_permutations(numbers):
permutations = []
current_perm = [] # Mevcut permütasyonu temsil eden liste
used = [False] * len(numbers) # Sayıların kullanılıp kullanılmadığını tutan liste
generate_permutations(numbers, current_perm, used, permutations)
return permutations
Python ile Tüm permütasyonları oluşturmak için geri izlemeli fonksiyon.
def generate_permutations(numbers, current_perm, used, permutations):
if len(current_perm) == len(numbers):
permutations.append(list(current_perm)) # Mevcut permütasyonu sonuç listesine ekle
return
for i in range(len(numbers)):
if not used[i]: # Sayı daha önce kullanılmadıysa
used[i] = True # Sayıyı kullanıldı olarak işaretle
current_perm.append(numbers[i]) # Sayıyı mevcut permütasyona ekle
generate_permutations(numbers, current_perm, used, permutations)
current_perm.pop() # Son eklenen sayıyı çıkar ve diğer olasılıkları denemek için geri dön
used[i] = False # Sayının kullanım durumunu geri al
Python ile Kullanıcıdan virgülle ayrılarak girilen sayıları al.
if __name__ == "__main__":
input_str = input("Sayıları virgülle ayırarak girin: ")
numbers = [int(s.strip()) for s in input_str.split(',')] # Girdiyi integer listesine dönüştür.
Python ile Permütasyonları bulan fonksiyonu çağır.
all_permutations = find_permutations(numbers)
Python ile Tüm permütasyonları ekrana yazdır.
print("Tüm permütasyonlar:")
for perm in all_permutations:
print(', '.join(map(str, perm)))