Cod sursa(job #1456381)

Utilizator BanhidiBanhidi Zoltan Banhidi Data 30 iunie 2015 14:39:31
Problema Factorial Scor 50
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>

long putere_cinci(long x) {
    long t=0;
    while (x%5==0) {
        t++;
        x/=5;
    }
    return(t);
}

int main() {
    FILE *f=fopen("fact.in","r");
    long p,i,z=0;
    if (f==NULL) {
        printf("Eroare deschidere fisier.");
        fflush(stdin); getchar(); exit(1);
    }
    fscanf(f,"%ld",&p);
    fclose(f);
    f=fopen("fact.out","w");
    if (f==NULL) {
        printf("Eroare creare fisier.");
        fflush(stdin);
        getchar(); exit(2);
    }
    if (p==0) fprintf(f,"1");
    else {
        z=1; i=5;
        while (z<p) {
            i+=5;
            z+=putere_cinci(i);
        }
        fprintf(f,"%ld",z==p?i:-1);
    }
    fclose(f);
    return(0);
}