# PBinfo #534 – Factorial1 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerinţa
Să se scrie un program care citește numărul natural n și determină valoarea lui n!=1*2*3*...*n.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe prima linie a ecranului valoarea lui n!.

Restricţii şi precizări

0 ≤ n ≤ 1000
prin definiție, 0! = 1

Exemplul 1:
Intrare

4
Ieșire

24
Exemplul 2:
Intrare

25
Ieșire

15511210043330985984000000

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int n, rez[100000];
int main(){
	cin  >> n;	
	rez[0] = 1;
	rez[1] = 1;
	for(int i = 1 ; i <= n ; ++i)
	{
		int t = 0;
		for(int j = 1 ; j <= rez[0] ; j++)
		{
			int cif = t + i * rez[j];
			rez[j] = cif % 10;
			t = cif / 10;
		}
		while(t)
			rez[++rez[0]] = t % 10, t /= 10;
	}
	for(int i = rez[0] ; i > 0 ; i--)
		cout << rez[i];
	return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/534)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/534/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-534/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
