Cod sursa(job #797786)

Utilizator ildikoprecupPrecup Ildiko ildikoprecup Data 14 octombrie 2012 20:55:10
Problema Factorial Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int cati0(long numar){
    int suma = 0;
    while (numar / 5 != 0){
          suma = suma + ( numar / 5 );
          numar = numar / 5;
    }
    return suma;
}
int main(int argc, char *argv[])
{
    long p = 0;
    long putere = 0;
    FILE * f = fopen("fact.in", "r");
    fscanf(f, "%d", &p);
    fclose(f);
    
    printf("%d", p);
    long n = p * 5;
    if ( n == 0) n = 1;
    else
    {
        int scad0 = cati0(n) - p;
   
        while (scad0 > 0)
        {
          n = n - 5;
          scad0 = cati0(n) - p;        
        }
        if (scad0 < 0) n = -1;
    }
    f = fopen("fact.out", "w");
    fprintf(f, "%d", n);
    fclose(f);
    
    return 0;
}