Cod sursa(job #1701864)

Utilizator andy1207Cioltan Andrei andy1207 Data 14 mai 2016 12:19:29
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<cstdio>
int main()
{
 long long n,t,i,d,p,nrdiv,sdiv,put,cn;
 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;
     while(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));
              }
           d++;
          }
     if(n!=1)
        {
         nrdiv=nrdiv*(n-1);
        }
     if(nrdiv==2)
        sdiv=cn+1;
     printf("%lld %lld\n",nrdiv,sdiv);
    }
return 0;
}