Cod sursa(job #1191414)

Utilizator avramraresAvram Rares Stefan avramrares Data 27 mai 2014 15:50:25
Problema Suma si numarul divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1.08 kb
#include <fstream>

using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int t,p,z,n,d,ju,ko,c[100],b[100],i,h,j,fi,qwerty;
long long nrd,sd;
int main()
{
    f>>n;
    d=2;
    for(i=1; i<=n; i++)
    {
        d=2;
        f>>t;
        z=t;
        for(d=2; t!=1 && d*d<=z; d++)
        {
            p=0;
            while(t%d==0)
            {
                t/=d;
                p++;
            }
            if(p!=0)
            {
                j++;
                b[j]=p;
                c[j]=d;
            }
        }
        if(t!=1) {b[++j]=1; c[j]=t;}
        ko=1;
        nrd=1;
        sd=1;

        for(h=1; h<=j; h++)
        {
            ju=c[h];
            nrd=nrd*(b[h]+1);
            for(fi=1; fi<=b[h]; fi++)
            {
                c[h]=c[h]*ju;
            }
            sd=sd*((c[h]-1)/(ju-1));
        }
        g<<nrd<<" "<<sd%9973<<'\n';
        for(qwerty=1; qwerty<=j; qwerty++)
        {
            b[qwerty]=0;
            c[qwerty]=0;
        }
        j=0;
    }
    return 0;
}