Cod sursa(job #2665580)

Utilizator Teodor94Teodor Plop Teodor94 Data 31 octombrie 2020 07:19:59
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
	
#include <stdio.h>
#include <stdlib.h>
#define MAXP 1000000000
 
int val( int n ) {
  int cnt, p5;
  p5 = 5;
  cnt = 0;
  while( p5 <= n ) {
    cnt += ( n / p5 );
    p5 *= 5;
  }
  return cnt;
}
 
int main() {
    FILE *fin, *fout;
    int p, st, dr, mijl;
    fin = fopen( "fact.in", "r" );
    fscanf( fin, "%d", &p );
    fclose( fin );
    st = 0;
    dr = MAXP + 1;
    while( dr - st > 1 ) {
      mijl = ( st + dr ) / 2;
      if( val( mijl ) >= p )
        dr = mijl;
      else
        st = mijl;
    }
    fout = fopen( "fact.out", "w" );
    if( p == val( dr ) )
      fprintf( fout, "%d", dr );
    else
      fprintf( fout, "-1" );
    fclose( fout );
    return 0;
}