Cod sursa(job #2429808)

Utilizator BogBBogdan BogB Data 11 iunie 2019 11:28:15
Problema Factorial Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <cmath>

uint64_t factorial(int N){
    if(N > 1){
        return N * factorial(N - 1);
    } else {
        return 1;
    }
}
int main() {
    int P, k = 1;
    uint64_t impartire;
    FILE * fisier_out = fopen("fact.out", "w");
    FILE * fisier_in = fopen("fact.in", "r");
    fscanf(fisier_in, "%d", &P);

    while(1){
        impartire = factorial(k);
        for(int i = 0; i < P; i++){
            impartire = impartire / 10;
        }
        if((impartire * pow(10, P)) == factorial(k)){
            fprintf(fisier_out, "%d", k);
            break;
        }
        k = k + 1;
    }
    fclose(fisier_in);
    fclose(fisier_out);
    return 0;
}