Cod sursa(job #3302127)

Utilizator IacobTudorIacob Tudor IacobTudor Data 3 iulie 2025 17:12:44
Problema Suma si numarul divizorilor Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <bits/stdc++.h>

using namespace std;

long long v[3];
const long long mod=9973;
void descompunere_in_factori_primi (long long x)
{
    long long exp, d=2, nrdiv=1, s=1, p=1,j;
    while(x>1)
    {
        exp=0;
        while(x%d==0)
        {
            exp++;
            x/=d;
        }
        nrdiv*=(exp+1);
        p=1;
        for (j=1; j<=exp+1; j++)
            p*=d;
        s*=(p-1)/(d-1);
        s%=mod;
        d++;
        if(d*d>x)
        {
            d=x;
        }
    }
    s%=mod;
    v[1]=nrdiv;
    v[2]=s;
    s=0;
}
int main()
{
    FILE *fin, *fout;
    fin=fopen ("ssnd.in", "r");
    fout=fopen ("ssnd.out", "w");
    long long t;
    long long x;
    fscanf (fin, "%lld", &t);
    for (long long i=1; i<=t; i++)
    {
        fscanf (fin, "%lld", &x);
        descompunere_in_factori_primi(x);
        fprintf (fout, "%lld %lld\n", v[1], v[2]);
    }
    fclose (fin);
    fclose (fout);
    return 0;
}