/*
Pattern Explanation:
The sequence is: 8, 64, 80, 136, 152
Compute the differences between consecutive numbers:
64 - 8 = 56
80 - 64 = 16
136 - 80 = 56
152 - 136 = 16
The pattern clearly alternates:
+56, +16, +56, +16, ...
8 + 56 = 64
64 + 16 = 80
80 + 56 = 136
136 + 16 = 152
Since the last step was +16, the next step must be +56.
Therefore, the next number is: 152 + 56 = 208
*/
#include <iostream>
#include <vector>
// ------------------------------------------------------------
// Function to compute the next number in the alternating-difference pattern
// ------------------------------------------------------------
int nextNumberInSequence(const std::vector<int>& seq) {
// Compute differences between consecutive numbers
std::vector<int> diff;
for (size_t i = 1; i < seq.size(); i++) {
diff.push_back(seq[i] - seq[i - 1]);
}
// The pattern alternates: 56, 16, 56, 16, ...
// To continue the pattern, take the second-to-last difference (56)
int nextDiff = diff[diff.size() - 2];
// Return the next number in the sequence
return seq.back() + nextDiff;
}
int main() {
// The given sequence
std::vector<int> seq = {8, 64, 80, 136, 152};
// Compute the next number using the function
int nextValue = nextNumberInSequence(seq);
std::cout << "Next number in the sequence: " << nextValue << std::endl;
}
/*
run:
Next number in the sequence: 208
*/