Cod sursa(job #1444360)

Utilizator alexandrusandulescuSandulescu Alexandru alexandrusandulescu Data 29 mai 2015 17:09:24
Problema Suma si numarul divizorilor Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

int n, i, x, s, d, y, nr, p, v;
int main()
{
    ifstream f ("ssnd.in");
    ofstream g ("ssnd.out");
    f >> n;
    for (i = 1; i <= n; i++)
    {
        f >> x;
        s = 1;
        d = 2;
        y = x;
        nr = 1;
        while (x != 1 && d * d <= y)
        {
            p = 0;
            v = d;
            while (x % d == 0)
            {
                p++;
                v *= d;
                x /= d;
            }
            nr = nr * (p+1);
            s = s * (v-1)/(d-1);
            d++;
        }
        if (x != 1)
        {
            nr *= 2;
            s = s * (x * x - 1)/(x - 1);
        }
        g << nr << " " << s % 9973 << '\n';
    }
    return 0;
}