Pagini recente » Cod sursa (job #313449) | Istoria paginii runda/racovita_combate_stresul_11_12/clasament | Cod sursa (job #2268135) | Cod sursa (job #1822283) | Cod sursa (job #469269)
Cod sursa(job #469269)
/**
*
* Author: Lazar Pavel
*
* Description: Se da un numar intreg P. Sa se gaseasca cel mai mic numar
* natural strict pozitiv N pentru care N! are exact P cifre de 0 la sfarsit.
*
**/
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fi = fopen("fact.in","r");
FILE *fo = fopen("fact.out","w");
unsigned long int p;
unsigned long int zeros = 0;
unsigned long int fact = 1;
fscanf(fi,"%ld",&p);
fclose(fi);
if( p == 0 ){
fprintf(fo,"%d",1);
}else{
while( zeros != p || zeros < p ){
fact++;
if( fact % 100000 == 0 ){
zeros = zeros + 5;
}else if( fact % 10000 == 0 ){
zeros = zeros + 4;
}else if( fact % 1000 == 0 ){
zeros = zeros + 3;
}else if( fact % 100 == 0 ){
zeros = zeros + 2;
}else if( fact % 25 == 0 ){
zeros = zeros + 2;
}else if( fact % 10 == 0 ){
zeros++;
}else if( fact % 10 == 5 ){
zeros++;
}
}
if( zeros == p ){
fprintf(fo,"%ld",fact);
}else{
fprintf(fo,"%d",-1);
}
}
fclose(fo);
return 0;
}