Cod sursa(job #2563804)

Utilizator raizoSoare Antonio raizo Data 1 martie 2020 14:42:44
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>

using namespace std;
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;
    cin>>p;
    if(p==0){cout<<1;
            return 0;}

    zeros=pow(p);
    cout<<"P "<<zeros<<endl;
    sol=fact(zeros);
    sol_a=fact(zeros*10);
    if(sol<sol_a){cout<<sol;}
    else{cout<<-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;

}