Buna! Să se scrie un program care calculează valoarea expresiei: P=1*2*3*4*...*n .
Exemplu: n=4. Se va afișa: 24. In limbajul c++. Mulțumesc !
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int main()
{
long long n, i, p=1, cn;
cin>>n;
cn=n; //facem o copie a lui n
if(n==0)
cout<<1;
if(cn>0)
{
cn--;
for(i=2; i<=n; i++)
{
p=p*i;
}
cout<<p;
}
}
UnguruFelina:
De ce mai verifici daca n este 0? Programul va afisa 1 chiar daca n este 0 deoarece ai atribuit valoare 1 lui p inca din inceput, nici nu mai intra in for. De ce ai facut copie lui n? Nu este nevoie sa ii faci copie deoarece nu isi "pierde" valoare nicaieri in program. Si nu trebuie neaparat sa folosesti long long deoarece factorialul da nr. foarte mari. Programul facut de tine nu este foarte eficient din punct de vedere al memoriei pe care il utilizeaza, ar fi trebuit sa mentionezi asta
Răspuns de
1
Răspuns:
Programul de mai jos calculeaza produsul elementelor de la 1 la n
Se mai numeste si factorial, si prin definitie factorial de 0 este 1.
Daca ai intrebari scrie mai jos!!!
Explicație:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int p=1;
for(int i=1;i<=n;i++) //iei toate nr de la 1 la n
p=p*i; // inmultesti nr de pe poz. i cu p pana cand se termina for-ul
cout << p; //afisezi produs
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă