Вот мой код:Мне нужно найти все дружные числа до определенного числа
$n = 300;
$set = 0;
$set2 = 0;
for($i = 1; $i<$n; $i++)
{
for($j = 1; $j <$i; $j++)
{
$qol = $i % $j;
if($qol == 0)
{
$set += $j;
}
}
for($s=1; $s<$set; $s++)
{
$qol2 = $set % $s;
if($s == 0)
{
$set2 += $s;
}
}
if($set2 == $i)
{
echo "$set and $i are amicable numbers</br>";
}
}
Я не знаю, что щеколда проблема!
FYI: 220 и 284 - пример дружественных чисел. Сумма собственных делителей одного числа равна другому числу и наоборот (wiki).
В цикле 'for ($ s = 1 ....)' вы начинаете с '$ s = 1' и увеличиваете это. Таким образом, '$ s' никогда не может быть' 0', и поэтому '$ set2' всегда будет' 0'. –