Mai intai trebuie sa te autentifici.
Cod sursa(job #2849035)
Utilizator | Data | 14 februarie 2022 13:36:27 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 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;
}
// if (p<0) n=-1;
ofstream g("fact.out");
g<<n;
g.close();
return 0;
}