Cod sursa(job #1701927)

Utilizator andy1207Cioltan Andrei andy1207 Data 14 mai 2016 12:58:43
Problema Suma si numarul divizorilor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<cstdio>
int main()
{
 long long n,t,i,d,p,nrdiv,sdiv,put,cn,s,e,M;
 freopen("ssnd.in","r",stdin);
 freopen("ssnd.out","w",stdout);
 scanf("%lld",&t);
 for(i=1;i<=t;i++)
    {
     scanf("%lld",&n);
     cn=n;
     d=2;
     nrdiv=sdiv=1;
     s=n;
     while(d*d<=n)
          {
           p=0;
           put=1;
           while(n%d==0)
                {
                 n/=d;
                 p++;
                 put=put*d;
                }
           put*=d;
           if(p!=0)
              {
               nrdiv=nrdiv*(p+1);
               sdiv=sdiv*((put-1)/(d-1))%9973;
              }
           d++;
          }
     if(n!=1)
        {
         nrdiv=nrdiv*2;
         sdiv=sdiv*(n+1)%9973;
        }
     if(nrdiv==2)
        sdiv=cn+1;
     printf("%lld %lld\n",nrdiv,sdiv%9973);
    }
return 0;
}