Cod sursa(job #1234710)

Utilizator FawkesAndrei Colhon Fawkes Data 27 septembrie 2014 21:12:18
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <iostream>
#include <fstream>

using namespace std;
int five(int a)
{
    int nr=0;
    for(int i=1;i<=a;++i)
    {
        int v=i;
        while(v%5==0)
        {
            if(v%5==0)
            {
                nr++;
                v=v/5;
            }
        }
    }
    return nr;
}


int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    int p,n,fives,pp,ok=1;
    f >> p;
	int st=1,dr=9999,mid;
	while(dr>st)
    {
        mid=(st+dr)/2;
        fives=0;
        for(n=1;n<=mid;n++)
        {
            pp=n;
            while(pp%5==0)
            {
                if (pp%5==0)
                    {
                        fives++;
                        pp=pp/5;
                    }
            }
        }
        if(fives > p)
        {
            dr=mid;
        }
        if(fives < p)
        {
            st=mid;
        }
        if(fives == p)
        {

            break;
        }

    }
    while(five(mid)==five(mid-1))
    {
        mid=mid-1;
    }
    g << mid;
    return 0;
}