Cod sursa(job #2245998)

Utilizator XDDDDariusPetean Darius XDDDDarius Data 26 septembrie 2018 13:24:41
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <math.h>
#define MOD 9973

std::ifstream in("ssnd.in");
std::ofstream out("ssnd.out");

using namespace std;
long long t,n;
void div(long long k,long long &a,long long &b)
{
    long long p=2,numar,nrdiv=1,prod=1,aux=1;
    while(k>1)
    {
        numar=0;
        aux=p;
        while(k%p==0)
        {
            numar++;
            k/=p;
            aux*=p;
        }
        if(k%p)
        {
            nrdiv*=(numar+1);
            prod*=( ((1LL*(aux-1))%MOD)/(p-1) );

        }
        p++;
    }
    a=nrdiv;
    b=prod;

}


int main()
{
    in>>n;
    for(int i=0;i<n;i++)
    {
        long long a,b;
        in>>t;
        div(t,a,b);
        out<<a<<" "<<b<<"\n";
    }
    return 0;
}