Cod sursa(job #3250648)

Utilizator Hutanu_MaiaHutanu Ioana-Maia Hutanu_Maia Data 22 octombrie 2024 18:03:10
Problema Suma si numarul divizorilor Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long n,nr,dv,s,p,cop;
int main()
{
    fin>>n;
    for(int i=1; i<=n; i++)
    {
        fin>>nr;
        dv=s=1;
        int d=2;
        while(nr>1)
        {
            p=0;
            if(nr%d==0)
            {
                cop=nr;
                while(nr%d==0)
                {
                    nr/=d;
                    p++;
                }
                cop/=nr;
                dv*=p+1;
                s*=(cop*d-1)/(d-1);
            }
            d++;
            if(nr>1 && d*d>nr)
                d=nr;
        }
        fout<<dv<<' '<<s<<'\n';
    }
    return 0;
}