Cod sursa(job #1089884)
| Utilizator | Data | 22 ianuarie 2014 00:07:17 | |
|---|---|---|---|
| Problema | Factorial | Scor | 10 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include<stdio.h>
#include<stdlib.h>
int log5(int a){
int count=0;
while(a/5!=0)
{
count++;
a=a/5;
}
return count;
}
int main(int argc,char** argv){
FILE *fp;
int p;
int val;
int lsum;
if((fp=fopen("fact.in","r"))==NULL){
perror("fact.in :");
return 1;
}
fscanf(fp,"%d",&p);
fclose(fp);
if((fp=fopen("fact.out","w"))==NULL){
perror("fact.out :");
return 1;
}
if(p==0)
fprintf(fp,"%d",1);
else{
val=log5(p);
lsum=(val*(val+1))/2;
fprintf(fp,"%d",5*(p-lsum));
}
fclose(fp);
return 0;
}
