Cod sursa(job #1602141)

Utilizator AureliaCretu Aurelia Aurelia Data 16 februarie 2016 16:28:52
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;

int fr(int x)
{if(x==0) return 1;
return fr(x-1)*x;
}

int u(int x)
{int c=0;
    while(x!=0)
    {
        if(x%10==0) c++;
        else x=0;
        x=x/10;
    }
return c;
}

int main()
{int p, s, d, m, ok;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
s=1; d=1000000;
ok=0;
while(s<=d && ok==0)
   {
       m=(s+d)/2;
       if(u(fr(m))==p) if(u(fr(m-1))<p) ok=m;
                       else d=m-1;
       else if(u(fr(m))<p) if(u(fr(m+1))==p) ok=m+1;
                           else s=m+1;
            else d=m-1;
   }
g<<ok;
g.close();
f.close();
}