Cod sursa(job #2092775)

Utilizator onoflorinFlorin Onofrei onoflorin Data 22 decembrie 2017 12:14:31
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include<cstdio>

using namespace std;

const int L = 30;
int c;
int p10(int n)
{
    int nr=0;
    while(n>=5)
    {
        nr+=n/5;
        n/=5;
    }
    return nr;
}

int main()
{
    FILE *fin, *fout;
    int n, i, pas, p, r;
    fin=fopen("fact.in", "r");
    fout=fopen("fact.out", "w");
    fscanf(fin, "%d", &p);
    pas=1<<L;
    r=0;
    while(pas>0)
    {
        if(p10(r+pas)<p)
            r+=pas;
        pas/=2;
    }
    r++;
    if(p10(r)==p)
        fprintf(fout, "%d", r);
    else
        fprintf(fout, "-1");
    fclose(fin);
    fclose(fout);
    return 0;
}