Cod sursa(job #2663369)

Utilizator teochess2017Togan Teodor-Bogdan teochess2017 Data 26 octombrie 2020 11:01:00
Problema Factorial Scor 60
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *fin, *fout;
    int p, i, e, put, st;
    fin=fopen("fact.in", "r");
    fscanf(fin, "%d", &p);
    fclose(fin);
    i = 5;
    st = 0;
    while((i <= p) && (st == 0)){
      e = 0;
      put = 5;
      while((i % put) == 0){
        e++;
        put *= 5;
      }
      p -= e;
      if(p < i){
        st = -1;
      }else{
        i += 5;
      }
    }
    fout=fopen("fact.out", "w");
    if(st == 0){
      if(p != 0){
        fprintf(fout, "%d", 5 * p);
      }else{
        fprintf(fout, "1");
      }
    }else{
      fprintf(fout, "-1");
    }
    fclose(fout);
    return 0;
}