Chiaro! Per cercare il penultimo divisore, ovvero il massimo divisore diverso dal numero stesso, ti conviene procedere al contrario, magari considerando anche che tale divisore è sempre minore od uguale della metà del numero:
Codice PHP:
$n = 100;
$massimo_divisore = floor($n / 2);
while ($n % $massimo_divisore != 0) {
$massimo_divisore--;
}
echo $massimo_divisore;
o, in forma più compatta:
Codice PHP:
$n = 100;
for ($massimo_divisore = floor($n / 2); $n % $massimo_divisore != 0; $massimo_divisore--) {}
Occhio che primo e massimo divisore non sono sempre definiti: ad esempio quando il numero è 1 non li hai.