Cod sursa(job #2662888)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 24 octombrie 2020 18:55:19
Problema Factorial Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>

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