/ / Wie bekomme ich die Anzahl der Faktoren einer Zahl in Reichweite? - Faktorisierung

Wie bekomme ich das Nein von Faktoren einer Zahl in Reichweite? - Faktorisierung

Im Allgemeinen mache ich Primfaktorisierung und bekomme alle Primfaktoren und ich mache Permutationen und Kombinationen, um alle Faktoren zu finden.

Zum Beispiel: 1824 ist die Nummer, an der ich versuche, Faktoren von. Jetzt brauche ich keine Faktoren von 1824 innerhalb von 300.

Gibt es einen Trick ??

Antworten:

0 für die Antwort № 1

Als Brute-Force-Lösung müssen Sie die Zahl nicht priorisieren. Sie können einfach nach allen Zahlen in der Reihe suchen.

Lassen Sie den Zahlenbereich, in dem Sie Faktoren finden möchten, [range_start, range_end] sein. Überspringen Sie einfach diese Zahlen in einer Schleife und prüfen Sie für jede Zahl (zB x), ob (number % x == 0 ), wenn ja, dann ist x ein Faktor der Zahl.


0 für die Antwort № 2

Ein Trick, sucht nicht nach ZahlenQuadratwurzel der Zahl, die Sie nach Faktoren suchen. Um zum Beispiel Faktoren von 2-300 zu finden, müssen Sie nur wirklich von 2-ceil (sqrt (1824)) suchen, die 2-43 ist. Sobald Sie a finden Nummer im Bereich von 2 bis 43, teilen Sie es in 1824, um nach anderen Faktoren zu suchen, die über 43 liegen können.