Effizientes Erhalten aller Teiler einer bestimmten Zahl

DemzufolgePos, wir können alle Teiler einer Zahl durch die folgenden Codes erhalten.

for (int i = 1; i <= num; ++i){
    if (num % i == 0)
        cout << i << endl;
}

Zum Beispiel die Teiler der Zahl24 sind1 2 3 4 6 8 12 24.

Nach dem Durchsuchen einiger verwandter Beiträge habe ich keine guten Lösungen gefunden. Gibt es einen effizienten Weg, um dies zu erreichen?

Meine Lösung

Finde alle Primfaktoren der angegebenen Zahl durch diesesLösun. Holen Sie sich alle möglichen Kombinationen dieser Primfaktoren.

Allerdings scheint es nicht gut zu sein.

Antworten auf die Frage(11)

Ihre Antwort auf die Frage