Cod sursa(job #707549)

Utilizator RodicaElenaAndronache Rodica RodicaElena Data 5 martie 2012 21:33:34
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>

using namespace std;


int calc_fact(int x) {
    for (int i = 1; i <= x; i++) {
        x *= i;
    } 
    return x;
}

int nr_cifre(int x) {
    int nr = 0;
    while(x) {
             x /= 10;
             nr++;
    }
    return nr;
}

int small_fact(int x, int y, int p) {
    int m = (x + y)/2;
    if (nr_cifre(calc_fact(m)) > p)
       return small_fact(x,m,p);
    else if (nr_cifre(calc_fact(m)) < p)
         return small_fact(m,y,p);
    else return -1;
    
}


int main(){
    fstream f("fact.in",ios::in);
    fstream g("fact.out",ios::out);
    
    f>>p;
    g<<small_fact(1,1000000000,p);
    
    f.close();
    g.close();
    return 0;
}