fork(1) download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4.  
  5. double der(double x, double c[], int n)
  6. {
  7. double d = 0;
  8. for (int i = 0; i < n; i++) {
  9. d *= x;
  10. d += c[i];
  11. }
  12. return d;
  13. }
  14.  
  15. double der2(double x, double c[], int n)
  16. {
  17. double d = 0;
  18. for (int i = 0; i < n - 1; i++) {
  19. d *= x;
  20. d += (n - i - 1) * c[i];
  21. }
  22. return d;
  23. }
  24.  
  25. int main()
  26. {
  27. double coeffs[] = { 3 * 3.0, 2 * 2.0, 1 * 4.0 };
  28. double x = 1.0;
  29. double d = der(x, coeffs, sizeof(coeffs) / sizeof(coeffs[0]));
  30. printf("f'(%lf) = %lf\n", x, d);
  31.  
  32. double coeffs2[] = { 3.0, 2.0, 4.0, 5.0 };
  33. d = der2(x, coeffs2, sizeof(coeffs2) / sizeof(coeffs2[0]));
  34. printf("f'(%lf) = %lf\n", x, d);
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0s 1788KB
stdin
Standard input is empty
stdout
f'(1.000000) = 17.000000
f'(1.000000) = 17.000000