[PYTHON] Organisieren Sie die Bibliothek der Wettbewerbsprofis ~ Liste der ungefähren Zahlen ~

Dieser Artikel ist eine Umleitung dessen, was als Python-Code geschrieben wurde, und eine Neufassung davon in C ++. Wenn Sie C ++ - Code verwenden, verwenden Sie ihn bitte zusammen mit Vorlage (er funktioniert nur, wenn Sie ihn zusammen verwenden).

enumerate_divisors.py


def make_divisors(n):
    divisors=[]
    for i in range(1,int(n**0.5)+1):
        if n%i==0:
            divisors.append(i)
            if i!=n//i:
                divisors.append(n//i)
    #Wenn Sie in aufsteigender Reihenfolge sortieren möchten
    #divisors.sort()
    #Wenn Sie in absteigender Reihenfolge der Reduzierung sortieren möchten
    #divisors.sort(reverse=True)
    return divisors

enumerate_divisors.cc


vector<ll> divisors;//Ein Array, das die Brüche speichert

void make_divisors(ll n){
    FOR(i,1,sqrt(n)){
        if(n%i==0){
            divisors.PB(i);
            if(i!=n/i){
                divisors.PB(n/i);
            }
        }
    }
    //Wenn Sie in aufsteigender Reihenfolge sortieren möchten
    //sort(ALL(divisors));
    //Wenn Sie in absteigender Reihenfolge der Reduzierung sortieren möchten
    //sort(ALL(divisors),greater<ll>());
}

Recommended Posts

Organisieren Sie die Bibliothek der Wettbewerbsprofis ~ Liste der ungefähren Zahlen ~
Anordnung der professionellen Fachbibliothek ~ Zweidimensionale lineare unbestimmte Gleichung ~
[Für Wettkampfprofis] Zusammenfassung der Verdoppelung
Wettbewerbsfähige professionelle Bibliotheksorganisation ~ Würfel ~
Bestätigung der Grundlagen des Wettbewerbs professionell ~ gcd und lcm ~