復習 - データの反復処理
CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 53/71。
チャレンジ
簡単3行の入力を読み取ります:
- カンマ区切りの整数のリスト (例:
12,5,8,20,3,15,7) - 最小しきい値
- 最大しきい値
配列を処理して、範囲内(最小値と最大値の両方を含む)にあるすべての数値の合計を求めます。まず、数値が最大しきい値のちょうど2倍であるかどうかを確認し、その場合は break を使用して直ちに停止します。そうでない場合は、continue を使用して範囲外の数値をスキップします。
次の2行を出力します:
- 範囲内にある有効な数値の合計
- 合計に加算された数値の個数
例 1:
入力が 5,12,8,20,15,3,10、5、および 15 の場合、出力は次のようになります:
50
5(5 + 12 + 8 + 15 + 10 = 50、5つの数値が5-15の範囲内です)
例 2:
入力が 2,8,12,20,6,14、5、および 10 の場合、出力は次のようになります:
8
1(20は最大値10の2倍であるため、処理は20で停止します。その時点までに加算されたのは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 配列をループで処理する
// 範囲外(min から max までを含む)の数値をスキップするために 'continue' を使用する
// 最大しきい値のちょうど2倍の数値に遭遇した場合は '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 Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators