diff --git a/exercises/08_pointer/main.cpp b/exercises/08_pointer/main.cpp index ba37173f5..f5acc3bd0 100644 --- a/exercises/08_pointer/main.cpp +++ b/exercises/08_pointer/main.cpp @@ -5,6 +5,14 @@ bool is_fibonacci(int *ptr, int len, int stride) { ASSERT(len >= 3, "`len` should be at least 3"); // TODO: 编写代码判断从 ptr 开始,每 stride 个元素取 1 个元素,组成长度为 n 的数列是否满足 // arr[i + 2] = arr[i] + arr[i + 1] + for(int i = 2; i < len; i++){ + int cur = *(ptr + i * stride); + int prev1 = *(ptr + (i-1) * stride); + int prev2 = *(ptr + (i-2) * stride); + if(cur != prev1 + prev2){ + return false; + } + } return true; }