Algoritma verilen bir sayıyı bölenlerine sayısını hesaplamak için
Verilen bir sayıyı bölenlerine sayısını hesaplamak için en uygun algoritma (performans-bilge) ne olurdu?
Eğer yalancı ya da bazı örnek için bir link verebilirsen harika olur.
Tüm cevaplar çok yardımcı oldunuz, teşekkür ederim. EDİT: Atkin tüm imkanları devreye sokuyorum ve bir şeyler Jonathan Leffler belirtilen benzer kullanacağım o zaman. Link Justin Bozonier tarafından yayınlanan istediğim şeyler hakkında daha fazla bilgi vardır.
CEVAP
Dmitriy Atkin tüm imkanları prime listesini oluşturmak için isteyeceksiniz evet, ama bu bütün sorunu halleder inanmıyorum. Bir bölen olarak nasıl hareket görmek gerekir asal bir listesi var şimdi (ve ne sıklıkta).
5 ** ne olduğunu açıklar matematiksel olarak yapmanız gerekiyor.
Aslında eğer numaranız n
ise aşağı kaynar:
n = a^x * b^y * c^z
(a, b, c, ve c n asal bölenlerine ve x, y ve z bölen tekrarlanma sayısı).
sonra bölenlerine için toplam sayısı:
(x 1) * (y 1) * (z 1)
.
Edit: a,b,c,vb doğru bu. anlamakta zorlanıyorum eğer açgözlü bir algo tutarları ne yapmak istersiniz bulmak için BTW, Başka bir çarpma numarası n aşacak kadar büyük asal bölen ile başlar ve kendisi ile çarpın. Sonraki en düşük faktör ve saatler geçmek anki Başbakan ile çarpılır ve gelecek n... vb aşacak kadar Başbakan tarafından çoğalarak devam kez önceki Başbakan ^ numara. Sen bölenlerine birlikte çarpma ve formül içine bu numaraları yukarıda uygulamak sayısını takip edin.
Eğer o değil ise bile 100% algo benim açıklama hakkında emin değilim ama ona benzer bir şey .
Nasıl bir Oracle veritabanı için izin ...
Algoritma kesişen disk sayısı hesaplam...
Nasıl kullanmak nasıl benzer iki resim...
Oyun 2048 için en uygun algoritma nedi...
Coca-Cola için algoritma geliştirme ta...