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