How to check if a sequence of numbers is a Geometric progression (consecutive ratios are the same) in PHP

1 Answer

0 votes
function isGeometricProgression($arr) {
    $size = count($arr);
        
    if ($size == 1) {
        return true;
    }
        
    $ratio = $arr[1] / $arr[0];
        
    for ($i = 1; $i < $size; $i++) {
        if (($arr[$i] / $arr[$i - 1]) != $ratio) {
            return false;
        }
    }
        
    return true;
}
    
$arr = array(9, 27, 81, 243, 729, 2187);
        
echo isGeometricProgression($arr) ? "Yes" : "No";



/*
run:
 
Yes
 
*/

 



answered Sep 21, 2024 by avibootz
edited Sep 22, 2024 by avibootz
...