Cod sursa(job #1854893)
| Utilizator | Data | 23 ianuarie 2017 12:16:26 | |
|---|---|---|---|
| Problema | GFact | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream in("gfact.in");
ofstream out("gfact.out");
int zero(int n, int p)
{
int nr0=0;
while(n!=0)
{
nr0+=n/p;
n/=p;
}
return nr0;
}
int main()
{
const int L=30;
int nr0,r=0,pas=1<<L,nr;
in>>nr>>nr0;
while(pas!=0)
{
if(zero(r+pas,nr)<nr0)
r+=pas;
pas/=2;
}
if(zero(r+1,nr)==nr0)
out<<r+1;
else
out<<-1;
return 0;
}
