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
Patrissia:
Trebuie sa o rezolv cu ajutorul subprogramelor?
Răspunsuri la întrebare
Răspuns de
4
#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;}
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;}
using namespace std;
unsigned long long fact(int n)
{
unsigned long long f=1;
for(int i=1;i<=n;++i)
f*=i;
return f;
}
int main()
{
int n;
cin>>n;
cout<<fact(n);
return 0;
}
Răspuns de
3
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;
}
#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;
}
Alte întrebări interesante
Matematică,
9 ani în urmă
Istorie,
9 ani în urmă
Biologie,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă