You are on page 1of 1

//��������� �����

#include<iostream>

using namespace std;

void output(int *mass);


int FACT( int *mass, int x, int SIZE);

const int MAX_SIZE = 99999;


int SIZE = 1;

int main(){
setlocale(LC_ALL, "rus");
int mass[MAX_SIZE];
mass[0] = 1;
cout << "������� �����, ��������� �������� ����� �����: "<<endl;
int fact;
cin >> fact;
for (int i = 1; i <= fact; i++)
SIZE = FACT( mass, i, SIZE);
output(mass);
cout << endl;
system("pause");
return NULL;
}

void output(int *mass) {


for (int i = SIZE - 1; i >= 0; i--)
cout << mass[i];
}

int FACT(int *mass, int x, int SIZE)


{
int SAVE;
int SAVE_0 = 0;
int i = 0;
while (i < SIZE){
SAVE = mass[i] * x + SAVE_0;
SAVE_0 = SAVE / 10;
mass[i] = SAVE % 10;
i++;
}
while (SAVE_0){
mass[SIZE] = SAVE_0 % 10;
SAVE_0 /= 10;
SIZE++;
}
return SIZE;}

You might also like