Cod sursa(job #17806)

Utilizator diaDiana Adrisor dia Data 16 februarie 2007 22:15:41
Problema Descompuneri Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#define EMAX 30100

int V[EMAX], P[EMAX];
int N, E[EMAX], Sol;

int main()
{
        int i, j, ne = 0;

        for (i = 2; i < EMAX; i++)
            if (P[i] == 0)
            {
                V[ne++] = i;
                for (j = i; j < EMAX; j+=i) P[j] = 1;
            }

        freopen("desc.in", "r", stdin);
        scanf("%d", &N);

        for (i = 0; i < ne; i++)
            while (N%V[i] == 0)
            {
                N /= V[i];
                E[i]++;
            }

        Sol = 1;
        if (N > 1) Sol = 2;

        for (i = 0; i < ne; i++) Sol *= (E[i]+1);

        freopen("desc.out", "w", stdout);
        printf("%d\n", Sol);

        return 0;
        
}