Informatică, întrebare adresată de stefy24, 9 ani în urmă

La matematică, pentru un număr natural n, se notează cu n! valoarea produsului 1*2*3*...*n, și se citește n factorial.

Cerinţa
Să se scrie un program care citește numărul natural n și determină valoarea lui 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 <= 15
prin definiție, 0! = 1


artur99: Beside the fact that ...pbinfo...
artur99: Se poate recursiv? :))
AntiEaglesDavids: :))))
AntiEaglesDavids: mi-a placut asta vere +1

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
1
#include <iostream>
using namespace std;

int main()
{
    long long fact[] = {
                        1,
                        1,
                        2,
                        6,
                        24,
                        120,
                        720,
                        5040,
                        40320,
                        362880,
                        3628800,
                        39916800,
                        479001600ll,
                        6227020800ll,
                        87178291200ll,
                        1307674368000ll };
    int n;
    cin >> n;
    cout << fact[n];
    return 0;
}



stefy24: nu cu vectori sau matrici
artur99: super tare rezolvare! :D
AntiEaglesDavids: crede-ma ca in aplicatiile adevarate asta s-ar folosi
AntiEaglesDavids: nu are rost sa calculezi fact cand poti sa-l stochezi cu usurinta...
AntiEaglesDavids: asa se faceau si cu functiile sin, cos prin 90' deoarece in unele cazuri nu erau asa rapid. Se foloseau look-up table-uri de diferite marimi. Eu am folosit pt jocu meu functia tg si am bagat 30000 de aproximari insa degeaba pt ca in ziua de azi functiile trigo sunt ff optimizate asa ca nu s-a simtit vreo diferenta
AntiEaglesDavids: dar in cazu asta cu fact nu exista functie in c++ predefinita asa ca lookup table e perfect :D
AntiEaglesDavids: rapide*
artur99: hmm, wow știi și istorie, fain
AntiEaglesDavids: de ce ma iei la misto vere :( ? e pacat sa stii!
artur99: ??
Alte întrebări interesante