fork(2) download
  1. #include <stdio.h>
  2.  
  3. #define TEST_ARR(a) (\
  4.   printf("" #a " is %s\n", \
  5.   is_fib_array(a, sizeof(a) / sizeof(a[0])) ? "fib array" : "not a fib array"))
  6.  
  7. int is_fib_array(int *arr, size_t len)
  8. {
  9. size_t i;
  10.  
  11. if (len < 3)
  12. return 0;
  13.  
  14. for (i = 2; i < len; i++) {
  15. if (arr[i - 2] + arr[i - 1] != arr[i])
  16. return 0;
  17. }
  18.  
  19. return 1;
  20. }
  21.  
  22. int main()
  23. {
  24. int arr0[] = { 1, 1 };
  25. int arr1[] = { 1, 1, 2, 3, 5, 8, 13 };
  26. int arr2[] = { 1, 1, 2, 3, 5, 8, 13, 21, 100 };
  27.  
  28. TEST_ARR(arr0);
  29. TEST_ARR(arr1);
  30. TEST_ARR(arr2);
  31.  
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
arr0 is not a fib array
arr1 is fib array
arr2 is not a fib array