Cod sursa(job #139665)

Utilizator andi_szandrei andi_sz Data 20 februarie 2008 15:14:52
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>   
#include <iostream>   
#include <math.h>   
  
using namespace std;   
  
unsigned long divizori(unsigned long &x)   
{   
     unsigned long putere=0,cinci=0;   
     while (cinci*5+1<=x){cinci=cinci*5+1; putere=putere+1;}   
  
     x=x-cinci;   
       
     return (unsigned long)ceil(pow(5,putere));   
     }   
        
int main()   
{   
    unsigned long p,n,aux;   
    ifstream f("fact.in");   
    f>>p;   
    f.close();   
      
    n=0;   
unsigned long adun;   
  
if (p==0) n=1;   
else  
while (p>0)   
 {adun=divizori(p);   
  n=n+adun;   
}           
        
          
  
ofstream g("fact.out");   
 g<<n;   
g.close();   
      return 0;   
}