Pagini recente » Cod sursa (job #1403850) | Cod sursa (job #3179965) | Cod sursa (job #1393283) | Cod sursa (job #791667) | Cod sursa (job #25402)
Cod sursa(job #25402)
#include <fstream.h>
#include <math.h>
#define DIM 1000
unsigned long int B[10];
unsigned long int N[10];
unsigned long int resturi[DIM];
unsigned long int S = 1, nr;
int Factorial(unsigned long int);
int Nrzerouri(unsigned long int);
int Baza(unsigned long int, int);
int main()
{
ifstream fin("zero2.in");
ofstream fout("zero2.out");
int i;
for (i = 0; i < 10; i++)
fin >> N[i] >> B[i];
for (i = 0; i < 10; i++)
{
S = 1;
for (int j = 1; j <= N[i]; j++)
S *= Factorial(j);
fout << S << " ";
if (B[i] == 10)
fout << Nrzerouri(S) << '\n';
else
{ nr = Baza(S, B[i]);
fout << nr << '\n';
}
}
fin.close();
fout.close();
return 0;
}
int Factorial(unsigned long int x)
{
unsigned long int fact = 1;
for (int k = 1; k <= x; k++)
fact *= k;
return fact;
}
int Nrzerouri(unsigned long int s)
{
int zero = 0;
while (s)
{
if (s%10 == 0)
{
zero++;
s /=10;
}
else
break;
}
return zero;
}
int Baza(unsigned long int s, int baza)
{
int i = 1;
int zero = 0;
while (s)
{
resturi[i] = s%baza;
s = s/baza;
i++;
}
for (int k = 1; k <= i; k++)
if (resturi[k] != 0)
break;
else
zero++;
return zero;
}