Given the vector a, find the longest run of consecutive numbers that can be evenly divided by the same number d where d > 1.
Example:
Input a = [5 4 2 8 3 7 14] Output len is 3, d is 2
The last two numbers, 7 and 14, are divisible by 7, but the run of numbers [4 2 8] are all divisible by 2. So the longest run is 3. You can assume that d is unique.
Solution Stats
Problem Comments
1 Comment
Solution Comments
Show comments
Loading...
Problem Recent Solvers1362
Suggested Problems
-
287 Solvers
-
Getting the absolute index from a matrix
259 Solvers
-
513 Solvers
-
Calculate the Number of Sign Changes in a Row Vector (No Element Is Zero)
949 Solvers
-
Flip the vector from right to left
11195 Solvers
More from this Author96
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
A lot of the smaller answers use gcd, which fails for a=[2 4 6 9 18 21]. This is because the gcd of 9 and 18 is 9, but for 6 and 9 it's 3, which throws off the tally count because 3 is also common between 9 and 18.