Advertisement
Guest User

Untitled

a guest
Oct 5th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <stdlib.h>
  5.  
  6. double Member(int n, double x) {
  7.  
  8.         double res = 1.0;
  9.  
  10.         for (double i = 1.0; i <= n; i++)
  11.                 res *= x / i;
  12.  
  13.         return res;
  14. }
  15.  
  16. double sin_hy(int n,  double x) {
  17.         double sinx = 0.0;
  18.  
  19.         for (int j = 0; j <= n; j++) {
  20.                  double tmp = Member(2 * j + 1, x);
  21.                 if (j % 2) {
  22.                         tmp = -tmp;
  23.                 }
  24.                 sinx += tmp;
  25.         }
  26.  
  27.         return sinx;
  28. }
  29.  
  30. int main(int argc, char** argv) {
  31.  
  32.         double x = atof(argv[1]);
  33.         int n = atoi(argv[2]);
  34.  
  35.         struct timespec start, end;
  36.         clock_gettime(CLOCK_MONOTONIC, &start);
  37.  
  38.         printf("%.10lf\n", sin_hy(n, x));
  39.  
  40.         clock_gettime(CLOCK_MONOTONIC, &end);
  41.         printf("Time taken: %lf sec.\n", end.tv_sec - start.tv_sec
  42.                 + 0.000000001 * (end.tv_nsec - start.tv_nsec));
  43.  
  44.         return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement