Cod sursa(job #2423135)

Utilizator blotucosmincosmin blotucosmin Data 20 mai 2019 20:07:31
Problema Suma si numarul divizorilor Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;
long long n, fm, nrd, s, t, d;
int main()
{
    ifstream f("ssnd.in");
    ofstream g("ssnd.out");
    f >> t;
    while(t --)
    {
        f >> n;
        d = 2;
        nrd = s = 1;
        do
        {
            fm = 0;
            while(n % d == 0)
            {
                fm ++;
                n /= d;
            }
            if(fm > 0)
            {
                nrd *= (fm + 1);
                s *= (pow(d, fm + 1) - 1) / (d - 1);
            }
            d ++;
            if(d * d > n && n > 1)
            {
                nrd *= 2;
                s *= (n * n - 1) / (n - 1);
                n = 1;
            }

        }
        while(n > 1);
        g << nrd << " " << s << "\n";
    }
    return 0;
}