【ループメニュー1】> 【数列の中に何個ある?】STEP:3 数列の何番目にある? (paizaランク D 相当) [難易度: 922 ±36]
※リンク先へ移動するためには[paiza]へのログインが必要です。
長さ N の数列 a (a_1, a_2, ..., a_N) が与えられます。
この数列の何番目に 1 があるか出力してください。
数列の 1 つ目の要素を 1 番目とし、数列には必ず 1 がひとつだけ含まれることとします。
入力値(例)
5
5 4 3 2 1
出力値(例)
5
解答例
1 2 3 4 5 6 7 8 9 10 11 |
<?php $n = trim(fgets(STDIN)); $array = explode(" ", trim(fgets(STDIN))); $flag = 0; foreach($array as $value) { $flag += 1; if($value == 1) { echo $flag; } } ?> |
解説
- まず、1行目のN を受け取ります。
- 次に、長さ N の数列 a をexplode()で配列に入れて受け取ります。
- $flagを0に設定します。
- foreach()で一つずつ値を取り出すときに、$flagに1を追加していきます。
- if構文で、$valueで1が見つかったら、$flagを出力します。