Cod sursa(job #3215318)

Utilizator YuzukyIstrate Andreea Ruxandra Yuzuky Data 14 martie 2024 20:14:40
Problema Suma si numarul divizorilor Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
int main()
{
    int t,n;
    in>>t;
    for(int test=0; test<t; ++test)
    {
        in>>n;
        int nrdiv=1;
        if(n==1)
            out<<1<<" "<<1<<'\n';
        else
        {
            int sum=1;
            for(int d=2; d*d<=n; ++d)
            {
                int exp=1, power=d;
                while(n%d==0)
                {
                    n/=d;
                    ++exp;
                    power=power*d;
                }
                sum=(sum*(power-1)/(d-1))%9973;
                nrdiv=nrdiv*exp;
            }
            if(n>1)
            {
                nrdiv*=2;
                sum=(sum*(n*n-1)/(n-1))%9973;
            }
            out<<nrdiv<<" "<<sum<<'\n';
        }
    }
    return 0;
}