Pagini recente » Cod sursa (job #2198901) | Cod sursa (job #2172572) | Cod sursa (job #2301865) | Cod sursa (job #2576144) | 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;
}