Cod sursa(job #1558862)

Utilizator luca_robertaLuca Roberta luca_roberta Data 29 decembrie 2015 18:09:07
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <cstdio>

using namespace std;

int main()
{
    freopen("ssnd.in","r",stdin);
    freopen("ssnd.out","w",stdout);
    int T,n,nr,d,p,s;
    scanf("%d\n",&T);
    for (int i=1;i<=T;i++)
    {
        scanf("%d\n",&n);
        nr=1;
        p=0;
        while (n%2==0)
        {
            p++;
            n/=2;
        }
        if (p>0)
            nr=nr*(p+1);
        d=3;
        while (d*d<=n)
        {
            p=0;
            while (n%d==0)
            {
                p++;
                n/=d;
            }
            if (p>0)
                nr=nr*(p+1);
            d+=2;
        }
        if (n>1)
            nr=nr*2;
        printf("%d\n",nr);//, s);
    }
    return 0;
}