Advertisement
pexea12

Optimized (a) version

Feb 9th, 2020
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4. #define N 10000000
  5.  
  6.  
  7. int main()
  8. {
  9.   double a[N], b[N];
  10.   clock_t start, end;
  11.  
  12.   for (int i = 0; i < N; ++i) b[i] = i;
  13.  
  14.   int i;
  15.  
  16.   start = clock();
  17.   for (i = 0; i < 500; i += 2) {
  18.     a[i] = 4.0 * b[i] + b[i + 1];
  19.     a[i + 1] = 4.0 * b[i + 1] + b[i + 2];
  20.   }
  21.  
  22.   for (i = 500; i < N - 2; i += 2) {
  23.     a[i] = 4.0 * b[i + 1] + b[i];
  24.     a[i + 1] = 4.0 * b[i + 2] + b[i + 1];
  25.   }
  26.  
  27.   a[N - 2] = 4.0 * b[N - 1] + b[N - 2];
  28.  
  29.   end = clock();
  30.  
  31.   for (int i = 0; i < 100; ++i) {
  32.     printf("%f\n", a[i]);
  33.   }
  34.  
  35.   double cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
  36.   printf("Elapsed time: %f\n", cpu_time_used);
  37.  
  38.   return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement