Nu aveti permisiuni pentru a descarca fisierul grader_test7.ok
Cod sursa(job #1526145)
| Utilizator | Data | 15 noiembrie 2015 23:30:28 | |
|---|---|---|---|
| Problema | Factorial | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int p;
int solutie(long long n){
long long sum=0;
for(int i=5;n/i>0;i*=5)
sum+=floor(n/i);
if(sum==p)
return 1;
return 0;
}
long long cautare(long long i,long long j){
if(i>j)return -1;
long long mij=(i+j)/2;
if(solutie(mij)==1 && solutie(mij-1)==0)
return mij;
if(solutie(mij)==1 && solutie(mij-1)==1)
return cautare(i,mij-1);
if(!solutie(mij))
return cautare(mij+1,j);
}
int main(){
ifstream f("fact.in");
f>>p;
//cout<<cautare(0,p*5);
ofstream g("fact.out");
g<<cautare(0,p*5);
f.close();
g.close();
//system("pause");
return 0;
}
