Cod sursa(job #2700096)

Utilizator oanadagreatOana-Maria Topan oanadagreat Data 26 ianuarie 2021 15:49:57
Problema Suma si numarul divizorilor Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.2 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

ifstream f("ssnd.in");
ofstream g("ssnd.out");


int main()
{
    int t;
    f>>t;
    /*
    for (int i=1;i<=t;i++)
    {
        int n;
        f>>n;
        if (n==1) g<<1<<" "<<1<<endl;
        else {
            int suma=1+n,cont=2;
            for (int d=2;d*d<=n;d++)
                if (n%d==0)
                    if (d*d==n){
                        cont++;
                        suma+=d;
                    }
                    else {
                        cont+=2;
                        suma=suma+d+(n/d);
                    }
            g<<cont<<" "<<suma%9973<<endl;
        }
    }*/
    int n;
    for (int i=1; i<=t; i++)
    {
        f>>n;
        int cont=1,suma=1,d=2;
        while (n!=1)
        {
            int c=0,p=1;
            while (n%d==0)
            {
                c++;
                p=p*d;
                n/=d;
            }
            if (c!=0)
            {
                cont=cont*(c+1);
                suma=suma*((p*d-1)/(d-1));
            }
            d++;
        }
        g<<cont<<" "<<suma<<endl;
    }
    return 0;
}