Pagini recente » Diferente pentru problema/pswap intre reviziile 5 si 6 | Rating alex cristian (taiga) | Cod sursa (job #2712431) | Cod sursa (job #34195) | Cod sursa (job #1309063)
#include <fstream>
using namespace std;
int main()
{
ifstream in("fact.in");
ofstream out("fact.out");
long n=0, p;
long i, j, r;
in>>p;
if(p==0) n=1;
while(p)
{
for(i=1, j=0, r=1; r<=p; i*=5, ++j, r=r*5+1);
if(r-j<=p&&p<r)
{
n=-1;
break;
}
r=(r-1)/5;
n+=i*(p/r);
p-=r*(p/r);
}
out<<n<<'\n';
in.close(); out.close();
return 0;
}