Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int n ;
- int a[5001];//vector care memoreaza un numar mare
- //cifra cu cifra, pe poz 0 memoreaza nr de cifre
- int main()
- {
- cin >> n;
- //
- if(n == 3) //caz particular
- {
- cout << 1;
- return 0;
- }
- int c = n - 1, t;
- while(c) //primul numar memorat este n-1
- {
- a[0]++; //cresc numarul de cifre
- a[a[0]]= c % 10; //adaug cifra
- c = c / 10;
- }
- c = n - 2; //ficare c de la n-2 la 3
- while (c > 2) // inmultim cu vectorul
- {
- for(int i = 1; i <= a[0]; i++)
- a[i] *= c; //se obtin numere cu mai multe cifre
- t = 0;
- for(int i = 1; i <= a[0]; i++) //convertesc fiecare valoare la o cifra
- {
- a[i] = a[i] + t; //valoarea cu ce vine din urma
- t = a[i] / 10; // ce trimit mai departe
- a[i] = a[i] % 10; //cifra pastrata pe poz i
- }
- while(t) //daca t != 0, completez cu cifrele lui t numarul mare
- {
- a[0]++;
- a[a[0]] = t % 10;
- t = t / 10;
- }
- c--;
- }
- for(int i = a[0]; i >= 1; i--) //afisez numarul mare din vector
- cout << a[i];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement