Cod sursa(job #585350)

Utilizator drywaterLazar Vlad drywater Data 28 aprilie 2011 23:00:03
Problema Suma si numarul divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <stdio.h>
int t,n,e,i,nr;
long long sum,p,d;
int main(void)
{
    freopen("ssnd.in","r",stdin);
    freopen("ssnd.out","w",stdout);
    scanf("%d",&t);
    while (t--)
    {
        scanf("%d",&n);
        sum=1;
        nr=1;
        for (i=2;i*i<=n;i++)
        {
                d=1;
                e=0;
                p=1;
                while (n%i==0)
                {
                    n/=i;
                    e++;
                    p*=i;
                    p%=9973;
                    d+=p;
                    if (d>=9973)
                    d-=9973;
                }
                nr*=(e+1);
                sum=sum*d;
                sum%=9973;
        }
        if (n>1) {nr*=2; sum=sum*(n+1); sum%=9973;}
        printf("%d %lld\n",nr,sum);
    }
    return 0;
}