Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<malloc.h>
  3.  
  4.  
  5.  
  6. double exp(double x, int n, int *fakt, double *xpot) {
  7. return *xpot / *fakt + (n == 0 ? 0 : exp(x, n - 1, fakt - 1, xpot - 1));
  8. }
  9.  
  10.  
  11.  
  12. int main(void) {
  13. double x, *xpot,*A;
  14. int n, *fakt;
  15. int i;
  16. scanf("%d", &n);
  17. scanf("%lf", &x);
  18. xpot = (double*)malloc(n * sizeof(double));
  19. A = (double*)malloc(n * sizeof(double));
  20. fakt = (int*)malloc(n * sizeof(int));
  21.  
  22. xpot[0] = 1;
  23. fakt[0] = 1;
  24. for (i = 0; i < n; i++) {
  25. if (i > 0) {
  26. *(xpot + i) = x*(*(xpot + i - 1));
  27. *(fakt + i) = i*(*(fakt + i - 1));
  28. }
  29. *(A + i) = exp(x, i, fakt + i, xpot + i);
  30. printf("%lf ", *(A + i));
  31. }
  32. free(A);
  33. free(xpot);
  34. free(fakt);
  35. return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement