Cod sursa(job #1026090)

Utilizator ehoratiuEppel Horatiu ehoratiu Data 11 noiembrie 2013 03:55:07
Problema Factorial Scor 25
Compilator c Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
#include <stdlib.h>

int divizori (int num, int div)
{
    int stop = 0, nr_div =0;
    do
    {
        if ((num % div) == 0)
        {
            num = num / div;
            nr_div += 1;
        }
        else
            stop = 1;
    }
    while (stop != 1);

    return nr_div;
}

int factorial (int x)
{
    int contor=0;
    unsigned long long i;

    for (i=1 ; i<1000000 ; i++)
    {
        contor += divizori(i,5);
        if (contor == x)
            break;
    }
    return i;
}

FILE *fin, *fout;
int main()
{
    int p;
    fin = fopen("fact.in","r");
    fout = fopen("fact.out","w");

    fscanf(fin, "%d",&p);

    if (factorial(p) == 1000000)
        fprintf(fout,"%d",-1);
    else
        fprintf(fout,"%d",factorial (p));

    fclose(fin);
    fclose(fout);
    return 0;
}