Cod sursa(job #1276752)

Utilizator TamasionutzIoan-Cornel Tamas Tamasionutz Data 26 noiembrie 2014 20:01:39
Problema Factorial Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double log5( int x )
{
    return log10(x)/log10(5);
}

int getNrOfFives( int p )
{
    int din5in5 = 0;
    int numar = p;

    for( din5in5=5; din5in5<numar; din5in5+=5 )
    {
        double log = log5( din5in5 );
        numar -= trunc(log);
    }

    return numar;
}

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

    int p;
    fscanf(in, "%d", &p);

    if( p == 0 )
    {
        fprintf(out, "%d", 1);
        return 0;
    }
    else
    {
        fprintf(out, "%d", 5*getNrOfFives(p) );
    }

    fclose(in);
    fclose(out);
    return 0;
}