Pagini recente » Cod sursa (job #630993) | Cod sursa (job #993822) | Cod sursa (job #1735307) | Cod sursa (job #193131) | Cod sursa (job #2563806)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("fact.in");
ofstream out ("fact.out");
long long int pow (int ex);
int gcd(int a,int b);
int fact(long long int div);
int main()
{
int p,sol,sol_a;
long long int zeros;
in>>p;
if(p==0){out<<1;
return 0;}
zeros=pow(p);
sol=fact(zeros);
sol_a=fact(zeros*10);
if(sol<sol_a){out<<sol;}
else{out<<-1;}
return 0;
}
long long int pow (int ex){
int base=10;
long long int sol=1;
for(int i=1;i<=ex;i++){
sol=sol*base;
}
return sol;
}
int gcd(int a,int b){
int c=a%b;
if(c==0){return b;}
else {return gcd(b,c);}
}
int fact(long long int div){
long long int new_div=div;
for(int n=1;n<div;n++){
int ex_div=new_div;
new_div=ex_div/gcd(n,ex_div);
if(new_div==1){return n;}
}
return -1;
}