Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <cstring>
  2. #include <cstdio>
  3. #include <cstdlib>
  4.  
  5. int long solve_factorial(long int *factorial_memoization, int length, int long n = 1, int index = 0)
  6. {
  7. *(factorial_memoization +index) = n;
  8.  
  9. // printf("Check of %d is %ld\n", index, factorial_memoization[index]);
  10.  
  11. if (index == length)
  12. {
  13. return index;
  14. }
  15.  
  16. if (index == 0)
  17. {
  18. return 1 * solve_factorial(factorial_memoization, length, n * (index + 1), index + 1);
  19. }
  20.  
  21. return index * solve_factorial(factorial_memoization, length, n * (index + 1), index + 1);
  22. }
  23.  
  24. int main()
  25. {
  26. long int *factorial_memoization;
  27. long int element_total;
  28.  
  29. scanf("%ld", &element_total);
  30.  
  31. factorial_memoization = (long int*) malloc(sizeof(long int) * (element_total + 1));
  32.  
  33. long int result = solve_factorial(factorial_memoization, element_total);
  34.  
  35. for (int i = 0; i <= element_total; i++)
  36. {
  37. printf("Factorial of %d is %ld\n", i, *(factorial_memoization + i));
  38. }
  39.  
  40. printf("Factorial(%ld) result %ld", element_total, result);
  41.  
  42. free(factorial_memoization);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement