Cod sursa(job #2229185)

Utilizator butasebiButa Gabriel-Sebastian butasebi Data 6 august 2018 10:02:22
Problema Suma si numarul divizorilor Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>
using namespace std;
int i, n, x, d, nrdiv, sumdiv, val, fm, j;
int main()
{
    ifstream f("ssnd.in");
    ofstream g("ssnd.out");
    f >> n;
    for(j = 1;j <= n;j++)
    {
        f >> x;
        d = 2;
        nrdiv = 1;
        sumdiv = 1;
        do
        {
            fm = 0;
            while(x % d == 0)
            {
                x = x / d;
                fm++;
            }
            nrdiv = nrdiv * (fm + 1);
            val = 1;
            for(i = 1;i <= fm + 1;i++)
                val = val * d;
            sumdiv = (sumdiv * (val - 1) / (d - 1)) % 9973;
            d++;
            if(d * d > x && x != 1)nrdiv = nrdiv * 2, sumdiv = (sumdiv * (x * x - 1) / (x - 1)) % 9973, x = 1;
        }while(x != 1);
        g << nrdiv << " " << sumdiv << "\n";
    }
    return 0;
}