約数列挙

素因数分解, 約数の種類数, 高速版 osa_k ~高速な素因数分解~

O(√N) Ver // 素因数分解 // その素因数が何個あるかのmapを返す map<ll, ll> factorize(ll n){ map<ll, ll> mp; ll sq = sqrt(n); FOR(i, 2, sq+1){ while(n%i==0){ mp[i]++; n/=i; } } // 残り if(n!=1){ mp[n]++; } return mp; } // 約数の種類数 // 6 => 1, 2, 3, 6なの</ll,></ll,>…