470
Cerinţa
Într-o clasă sunt n
elevi. În fiecare zi elevii sunt așezați în bănci în alt mod. Câte modalități de așezare a elevilor în bănci există?
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 cerută.
Restricţii şi precizări
0 ≤ n ≤ 1000
Exemplul 1:
Intrare
3
Ieșire
6
Explicație
Dacă elevii sunt C
, S
și T
, variantele sunt: (C, S, T)
, (C, T, S)
, (S, C, T)
, (S, T, C)
, (T, C, S)
și (T, S, C)
.
Exemplul 2:
Intrare
25
Ieșire
15511210043330985984000000
#include <bits/stdc++.h> using namespace std; int main() { int n, a[10001]={0}, c=1; cin >> n; a[1]=1; for(int i = 1; i <= n; i++) { int t = 0; for(int j = 1; j <= c; j++) { int cif = a[j] * i + t; a[j] = cif % 10; t = cif / 10; } while(t) { a[++c] = t % 10; t /=10; } } for(int i = c ; i >= 1; i--) cout << a[i]; return 0; }
Comentarii