fbpx

Problema #534 – Factorial1 – Rezolvari PBInfo

de Mihai-Alexandru

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
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n, a[10001]={0}, c=1;
    cin >> n;
    a[1]=1;
    for(int i = 1; i <= n; i++)
    {
        int t = 0;
        for(int j = 1; j <= c; j++)
        {
            int cif = a[j] * i + t;
            a[j] = cif % 10;
            t = cif / 10;
        }
        while(t)
        {
            a[++c] = t % 10;
            t /=10;
        }
    }
    for(int i = c ; i >= 1; i--)
        cout << a[i];
    return 0;
}
Comentarii

S-ar putea sa iti placa