Итог - Итерация по данным
Часть раздела Основы путешествия по PHP на Coddy — урок 53 из 71.
Задание
ЛегкоПрочитайте три строки ввода:
- Список целых чисел, разделенных запятыми (например,
12,5,8,20,3,15,7) - Значение минимального порога
- Значение максимального порога
Обработайте массив, чтобы найти сумму всех чисел, попадающих в диапазон (включая минимум и максимум). Используйте continue для пропуска чисел вне диапазона. Кроме того, если вы встретите число, которое ровно вдвое больше максимального порога, немедленно остановите обработку с помощью break.
Выведите две строки:
- Сумму допустимых чисел в диапазоне
- Количество чисел, добавленных к сумме
Пример 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: Напишите свой код здесь
// Цикл по массиву чисел
// Используйте '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