Cod sursa(job #1757564)

Utilizator MihneaMMihnea Mihai MihneaM Data 15 septembrie 2016 12:59:58
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
#define nrMAX 100000000
#define clong const long
using namespace std;

void citeste (long &n)
{
    ifstream fin ("fact.in");
    fin>>n;
    fin.close();
}

long inv (clong &x)
{
    clong k=x/5;
    if (!k)
        return 0;
    return k+inv(k);
}

long fact (clong &x)
{
    if (!x)
        return 1;
    clong k=4*x+1;
    for (long i=k-k%5;i<=5*x;i+=5)
        if (inv(i)==x)
            return i;
    return -1;
}

void scrie (clong &n)
{
    ofstream fout ("fact.out");
    fout<<n;
    fout.close();
}

int main()
{
    long n;
    citeste(n);
    scrie(fact(n));
    return 0;
}