Menu
Coddy logo textTech

復習 - データの反復処理

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

challenge icon

チャレンジ

簡単

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

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

配列を処理して、範囲内(最小値と最大値を含む)のすべての数の合計を見つけます。範囲外の数をスキップするためにcontinueを使用します。また、最大閾値の正確に2倍の数に遭遇したら、breakを使用して即座に処理を停止します。

2行を出力します:

  1. 範囲内の有効な数の合計
  2. 合計に追加された数の個数

例1:

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

50
5

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

例2:

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

8
1

(20で処理が停止します。なぜならそれは最大値10の2倍だからです。それ以前に8のみが追加され、合計は8で個数は1です)

例3:

入力が1,2,3,4,51020の場合、出力は次のようになります:

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;
?>

基礎のすべてのレッスン