Informatică, întrebare adresată de pmarian98, 8 ani în urmă

#534 Factorial1

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

Răspunsuri la întrebare

Răspuns de NiceShotVi
2

Soluția cea mai simplă este în Python:

import math;

n = int(input())

print(math.factorial(n))

Dacă preferi C++, te complici, dar uite aici soluția oficială...:

#include <iostream>

using namespace std;

int n, rez[100000];

int main(){

cin  >> n;  

rez[0] = 1;

rez[1] = 1;

for(int i = 1 ; i <= n ; ++i)

{

 int t = 0;

 for(int j = 1 ; j <= rez[0] ; j++)

 {

  int cif = t + i * rez[j];

  rez[j] = cif % 10;

  t = cif / 10;

 }

 while(t)

  rez[++rez[0]] = t % 10, t /= 10;

}

for(int i = rez[0] ; i > 0 ; i--)

 cout << rez[i];

return 0;

}

Alte întrebări interesante