Menu
Coddy logo textTech

復習 - データの反復処理

CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 53/71。

challenge icon

チャレンジ

簡単

3行の入力を読み取ります:

  1. カンマ区切りの整数のリスト (例: 12,5,8,20,3,15,7)
  2. 最小しきい値
  3. 最大しきい値

配列を処理して、範囲内(最小値と最大値の両方を含む)にあるすべての数値の合計を求めます。まず、数値が最大しきい値のちょうど2倍であるかどうかを確認し、その場合は break を使用して直ちに停止します。そうでない場合は、continue を使用して範囲外の数値をスキップします。

次の2行を出力します:

  1. 範囲内にある有効な数値の合計
  2. 合計に加算された数値の個数

例 1:

入力が 5,12,8,20,15,3,105、および 15 の場合、出力は次のようになります:

50
5

(5 + 12 + 8 + 15 + 10 = 50、5つの数値が5-15の範囲内です)

例 2:

入力が 2,8,12,20,6,145、および 10 の場合、出力は次のようになります:

8
1

(20は最大値10の2倍であるため、処理は20で停止します。その時点までに加算されたのは8のみであるため、合計は8、個数は1となります)

例 3:

入力が 1,2,3,4,510、および 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;
?>

基礎のすべてのレッスン