👤

Cerinţa:
Să se scrie o funcție C++ care să returneze pentru un număr natural n transmis ca parametru valoarea lui n!, adică 1•2•...•n.

Restricţii şi precizări:
-numele funcției va fi fact
-funcția va avea un singur parametru, n
-valoarea lui n! va fi returnată de către funcție
-prin definiție, 0!=1
-0 ≤ n ≤ 12

Exemplu:
fact(4) = 24


Răspuns :

#include <iostream>
using namespace std;
int n;
int fact (int x)
{int t,i,S;
t=x;S=1;
if (t!=0)
{for (i=1;i <=t;i++)
{S=S×i;}}
return S;}
int main ()
{cin>>n;
cout <<fact (n);
return 0;}
Problema trimisa de Patrissia functioneaza cum trebuie si e corect formulata (nu sunt greseli la acolade). Am rescris codul si am editat astfel incat programul sa fie lizibil. Succes!

#include <iostream>
using namespace std;
int n;
int fact(int x)
{
    int t, i, S;
    t = x;
    S = 1;
    if (t != 0)
    {
        for (i = 1; i <= t; i ++)
        {
            S=S*i;
        }
    }
    return S;
}
int main()
{
    cin >> n;
    cout << fact(n);
    return 0;
}