How to find whether an array include a pair of which product equals to N in PHP

1 Answer

0 votes
function ProductExists($arr, $N) {
    $size = count($arr);
    
    if ($size < 2) {
        return false;
    }
    
    $set = array();
    
    for ($i = 0; $i < $size; $i++) {
        if ($arr[$i] == 0 && $N == 0) {
            return true;
        }
        if ($N % $arr[$i] == 0) {
            if (in_array((int)($N / $arr[$i]), $set)) {
                return true;
            }
            array_unshift($set, $arr[$i]);
        }
    }
    return false;
}
        
$arr = array(5, 7, 13, 25, 9, 3, 4);
$N = 21;

echo ProductExists($arr, $N) ? "Yes" : "No";




/*
run:

Yes

*/

 



answered Jul 22, 2023 by avibootz
...