Cet article est un détournement de ce qui a été écrit comme code Python et une réécriture de celui-ci en C ++. De plus, lorsque vous utilisez du code C ++, veuillez l'utiliser avec Template (cela ne fonctionnera que si vous l'utilisez ensemble).
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)
    #Si vous souhaitez trier par ordre croissant
    #divisors.sort()
    #Si vous souhaitez trier par ordre décroissant de réduction
    #divisors.sort(reverse=True)
    return divisors
enumerate_divisors.cc
vector<ll> divisors;//Un tableau qui stocke les fractions
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);
            }
        }
    }
    //Si vous souhaitez trier par ordre croissant
    //sort(ALL(divisors));
    //Si vous souhaitez trier par ordre décroissant de réduction
    //sort(ALL(divisors),greater<ll>());
}
        Recommended Posts