Cod sursa(job #2466482)

Utilizator EricEric Vilcu Eric Data 2 octombrie 2019 12:51:35
Problema Suma si numarul divizorilor Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
unsigned long long x,S1,S2,St,r,i;
int Q,j;
int main()
{
    for(f>>Q;Q>0;--Q)
    {
        f>>x;S1=S2=1;
        for(i=2;i*i<=x;++i)if(x%i==0)
        {
            x/=i;j=1;
            while(x%i==0){++j;x/=i;}
            S1*=(j+1)%9973;
            St=0;r=1;
            while(j>=0)
            {St=(St+r)%9973;r=(r*i)%9973;--j;}
            S2=(S2*St)%9973;
        }
        if(x>1){S1*=2;S2=(S2*(x+1))%9973;}
        g<<S1<<' '<<S2<<'\n';
    }
}