Cod sursa(job #1594141)

Utilizator mateiivanMatei Ivan mateiivan Data 9 februarie 2016 11:16:27
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.26 kb
using namespace std;
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <algorithm>


int main(){
    long long zerouri[13];
    long long puteri_5[13];
    long temp = 5;
    int i,p,start, copie = 0, count = 0;
    for(i = 0;i<=12;i++){
        puteri_5[i] = temp;
        temp *= 5;

    }

    zerouri[0] = 1;
    for(i = 1;i <= 12;i++){
        zerouri[i] = zerouri[i-1] + puteri_5[i-1];
    }

    /*
     for(i = 0;i < 13;i++){
        cout<<puteri_5[i]<<endl;
    }

     for(i = 0;i < 13;i++){
        cout<<zerouri[i]<<endl;
    }
    */

    cin >> p;

    for(i = 12;i >= 0;i--){
        if(p >= zerouri[i]){
            break;
        }
    }

    //cout<<zerouri[i]<<endl;
    //cout<<puteri_5[i]<<endl;
    start = puteri_5[i];
    count = zerouri[i];
    if(p == count){
        cout<<start;
    }
    else{
        for(i = start+5;;i+=5){
            copie = i;
            while(copie%5 == 0){
                count++;
                copie /= 5;
            }

            if(count == p){
                cout<<i;
                break;
            }
            else if(count > p){
                cout<<-1;
                break;
            }
        }
    }


    return 0;
}