function sumOfDigits($num) {
$sum = 0;
while ($num > 0) {
$sum += $num % 10;
$num = (int)($num / 10);
}
return $sum;
}
echo "Введите число N: ";
fscanf(STDIN, "%d\n", $N); // Считывание N с клавиатуры
$count = 0;
for ($i = 1; $i <= $N; $i++) {
if ($i % 11 == 0 || sumOfDigits($i) % 11 == 0) {
$count++;
}
}
echo "Количество чисел от 1 до $N, удовлетворяющих условиям: $count";
?>
array_sum(str_split($k))
Весь код, решающий задачу: fscanf(STDIN, "%d", $n);
echo array_reduce(
range(1, $n), fn($p, $v) => $p + !(($v * array_sum(str_split($v))) % 11), 0
);
число делится на 11;
сумма цифр числа делится на 11.
N вводится пользователем с клавиатуры.
Входные данные:
Вводится натуральное число N <= 10000.
Выходные данные:
Количество чисел от 1 до N, удовлетворяющих хотя бы одному из двух условий:
число делятся на 11;
сумма цифр числа делится на 11.
Так, например, если программе на вход подать число 20, она должна вывести число 1, т.к. от 1 до 20 только 11 удовлетворяет условию задачи.