Cod sursa(job #1508731)

Utilizator andrey1440Tuiu Andrei andrey1440 Data 22 octombrie 2015 21:51:50
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
void divizor(int n,int &nrdiv2,int &nrdiv5)
{
    nrdiv2=0;
    nrdiv5=0;
    while(n%2==0 && n>1)
    {
        nrdiv2++;
        n=n/2;
    }
    while(n%5==0 && n>1)
    {
        nrdiv5++;
        n=n/5;
    }

}
int min1(int a,int b)
{
    if(a<b)return a;
    else return b;
}
int main()
{
    int P;
    int N=1;
    int nrdiv2=0;
    int n2;
    int n5;
    int nrdiv5=0;
    ifstream f("fact.in");
    ofstream g("fact.out");

    f>>P;

    while(min1(nrdiv2,nrdiv5) < P){
        N++;
        n2=0;
        n5=0;
        divizor(N,n2,n5);
        nrdiv2=nrdiv2+n2;
        nrdiv5=nrdiv5+n5;
    }
    if(min1(nrdiv2,nrdiv5)==P)g<<N;
    else g<<-1;

    return 0;
}