Asal Çarpanlara Ayırma ve Bölenler
N'yi asal kuvvetlere ayırın ve bölenleri sayın.
Asal Çarpanlara Ayırma ve Bölenler, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Coding Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Coding Interview Prep kursu toplamda 4 dersten oluşur.
N'yi Parçalara Ayırın
1'den büyük her tam sayı, asalların benzersiz bir çarpımıdır. Bu ayrışımı, yani asal çarpanlara ayrışını bulmak, birçok sayı teorisi problemini çözmenizi sağlar. 🧩
Deneme Bölmesi Fikri
n'yi bölen en küçük asalı çıkarın, onu bölerek yok edin ve tekrarlayın. Bu basit deneme bölmesi, n'yi 1'e kadar küçültür.
Köke Kadar Döngü
i*i, n'den küçük veya n'ye eşit kaldığı sürece bölenleri sınayın. Karekökün ötesinde en fazla bir asal çarpan kalabilir.
while i * i <= n:
...Her Çarpanı Çıkarın
i, n'yi böldüğü sürece bölmeye devam edin ve i'yi kaydedin. Böylece sonraki çarpana geçmeden önce o asalın tam kuvvetini yakalarsınız.
while n % i == 0:
factors.append(i)
n //= iGeriye Kalan Asal
Döngüden sonra n hâlâ 1'den büyükse, kendisi karekökten büyük bir asal çarpandır. Onu bir kez ekleyin.
if n > 1:
factors.append(n)Tam İşlem
Birlikte bu işlem, çarpanlara ayırmayı O(sqrt n) zamanda gerçekleştirir; her asalı tam tekrar sayısıyla ve sırayla döndürür.
def factorize(n):
f, i = [], 2
while i * i <= n:
while n % i == 0:
f.append(i); n //= i
i += 1
if n > 1: f.append(n)
return fKuvvetler Hâlinde Gruplayın
Bölenleri saymak için her asalı, 2,2,2 yerine 2^3 örneğindeki gibi üssüyle birlikte istersiniz. Bir sayaç, tekrarları düzenli biçimde sayar.
from collections import Counter
exp = Counter(factorize(n))Bölen Formülü
n, p1^a çarpı p2^b ise bölenlerin sayısı (a+1) çarpı (b+1) olur. Her üs, bir ek seçenek sağlar.
Bölenleri Sayma
Tüm asal sayılardaki her üsse bir ekleyip bunları çarpın. Böylece bölenleri tek tek listelemeden toplam bölen sayısını elde edersiniz.
count = 1
for e in exp.values():
count *= (e + 1)Bölenlerin Toplamı
İlgili bir formül, her asal sayının geometrik serisini kullanarak bölenleri toplar. Bunu bilmek, mükemmel sayı ve aliquot problemlerinde işinize yarar.
Elekle Hız Kazanın
Çok sayıda çarpanlara ayırma işlemi için her sayının en küçük asal çarpanını bir elek kullanarak önceden hesaplayın. Böylece her sorguda çarpanlara ayırma işlemi log n adımda tamamlanır.
Hızlı Kontrol
Bölen sayısını bulma formülünü belirli bir sayıya uygulayın.
Özet
Artık N'yi deneme bölmesiyle O(sqrt n) sürede çarpanlarına ayırabilir, geriye kalan asal sayıyı yakalayabilir, üsleri gruplayabilir ve çarpım formülüyle bölenleri sayabilirsiniz. ✅
Sıkça Sorulan Sorular
“Asal Çarpanlara Ayırma ve Bölenler” dersi ücretsiz mi?
Evet — “Asal Çarpanlara Ayırma ve Bölenler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Coding Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Coding Interview Prep kursu toplamda 4 dersten oluşur.
“Asal Çarpanlara Ayırma ve Bölenler” dersinde ne öğreneceğim?
N'yi asal kuvvetlere ayırın ve bölenleri sayın. Coding Interview Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Coding Interview Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Coding Interview Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Asal Çarpanlara Ayırma ve Bölenler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Coding Interview Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Coding Interview Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- GCD, LCM ve Öklid Algoritması
- sqrt(n)'ye Kadar Asallık Testi
- Eratosthenes Eleği
- Asal Çarpanlara Ayırma ve Bölenler