Итог - Итерация по данным
Часть раздела Основы путешествия по PHP на Coddy — урок 53 из 71.
Задание
ЛегкоПрочитайте три строки входных данных:
- Список целых чисел, разделенных запятыми (например,
12,5,8,20,3,15,7) - Минимальное пороговое значение
- Максимальное пороговое значение
Обработайте массив, чтобы найти сумму всех чисел, попадающих в диапазон (включая минимум и максимум). Сначала проверьте, является ли число ровно в два раза больше максимального порога, и если да, немедленно прекратите выполнение с помощью break. В противном случае используйте continue, чтобы пропустить числа вне диапазона.
Выведите две строки:
- Сумму подходящих чисел в пределах диапазона
- Количество чисел, которые были добавлены к сумме
Пример 1:
Если входные данные 5,12,8,20,15,3,10, 5 и 15, результат должен быть:
50
5(5 + 12 + 8 + 15 + 10 = 50, пять чисел находятся в диапазоне 5-15)
Пример 2:
Если входные данные 2,8,12,20,6,14, 5 и 10, результат должен быть:
8
1(Обработка останавливается на 20, так как это в два раза больше максимума 10; до этого момента было добавлено только 8, поэтому сумма равна 8, а количество — 1)
Пример 3:
Если входные данные 1,2,3,4,5, 10 и 20, результат должен быть:
0
0(Ни одно число не попадает в диапазон 10-20)
Попробуйте сами
<?php
// Чтение входных данных
$numbers = explode(',', trim(fgets(STDIN)));
$min = intval(trim(fgets(STDIN)));
$max = intval(trim(fgets(STDIN)));
// Инициализация переменных
$sum = 0;
$count = 0;
// TODO: Напишите свой код здесь
// Цикл по массиву чисел numbers
// Используйте 'continue', чтобы пропустить числа вне диапазона (от min до max включительно)
// Используйте 'break', если встретите число, ровно в два раза превышающее максимальный порог
// Следите за суммой и количеством подходящих чисел
// Вывод результатов
echo $sum . "\n";
echo $count;
?>Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions8Циклы
Цикл forЦикл whileЦикл foreachПеребор ключей и значенийОператор breakОператор continueИтог - Итерация по данным3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators