Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int n ;
  6. int a[5001];//vector care memoreaza un numar mare
  7. //cifra cu cifra, pe poz 0 memoreaza nr de cifre
  8. int main()
  9. {
  10. cin >> n;
  11. //
  12. if(n == 3) //caz particular
  13. {
  14. cout << 1;
  15. return 0;
  16. }
  17. int c = n - 1, t;
  18. while(c) //primul numar memorat este n-1
  19. {
  20. a[0]++; //cresc numarul de cifre
  21. a[a[0]]= c % 10; //adaug cifra
  22. c = c / 10;
  23. }
  24. c = n - 2; //ficare c de la n-2 la 3
  25. while (c > 2) // inmultim cu vectorul
  26. {
  27. for(int i = 1; i <= a[0]; i++)
  28. a[i] *= c; //se obtin numere cu mai multe cifre
  29. t = 0;
  30. for(int i = 1; i <= a[0]; i++) //convertesc fiecare valoare la o cifra
  31. {
  32. a[i] = a[i] + t; //valoarea cu ce vine din urma
  33. t = a[i] / 10; // ce trimit mai departe
  34. a[i] = a[i] % 10; //cifra pastrata pe poz i
  35. }
  36. while(t) //daca t != 0, completez cu cifrele lui t numarul mare
  37. {
  38. a[0]++;
  39. a[a[0]] = t % 10;
  40. t = t / 10;
  41. }
  42. c--;
  43. }
  44. for(int i = a[0]; i >= 1; i--) //afisez numarul mare din vector
  45. cout << a[i];
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement