компилятор пишет функция ничего не выводит.как можно исправить код
function task17($n) {
$sum =0;
for ($j=0; $j <= $n; $j++) {
if ($n % 3 == 0) { //если число делится без остатка на 3
echo "$n<br>";
} else if ($n % 5 == 0) { //если число делится без остатка на 5
//прибавьте это число к переменной $sum
$sum += $n;}
else if ($n % 3 == 0 && $n % 5 == 0) { //если число делится и на 5 и на
3
$sum -=1;
}
}
return $sum;
}
Ответы (1 шт):
Автор решения: endyrlx
→ Ссылка
Может, кому-то будет полезно мое замечание (на авторитетное мнение не претендую, т.к. в программировании новичок), но я считаю, что в программе на первое место нужно поставить проверку деления на 3 и на 5 в самый верх, т.к., например, при j = 15, сработает первый if и выполнит echo "$n<br>";, хотя, должно выполниться $sum -=1;.
В тестовом задании я сделал следующий код, который считаю более верным:
function task17($n){
$sum = 0;
for ($i=0; $i <= $n; $i++) {
if ($i%5==0 && $i%3==0) {
$sum -= 1;
}
elseif ($i%3==0) {
echo "$i <br>";
}
elseif ($i%5==0) {
$sum += $i;
}
}
return $sum;
}