【ループメニュー2】> 【約数の列挙】STEP: 13 1 はどこにある? (paizaランク D 相当) [難易度: 1021 ±35]
※リンク先へ移動するためには[paiza]へのログインが必要です。
N 個の整数 a_1, a_2, ..., a_N が与えられます。
a_1, a_2, ..., a_N のうち、1 がある位置を先頭から順に改行区切りで出力してください。
a_1 を 1 番目とし、a_1, a_2, ..., a_N には少なくとも 1 個は 1 が含まれます。
入力値(例)
5
5 3 1 3 5
出力値(例)
3
解答例
1 2 3 4 5 6 7 8 9 10 11 |
<?php $n = trim(fgets(STDIN)); $number = explode(" ", trim(fgets(STDIN))); $counter = 0; foreach($number as $value) { $counter += 1; if($value == 1) { echo $counter. "\n"; } } ?> |
解説
2行目のN個の整数のうち1の順番を出力する問題。
explode()で受け取って、foreach()で一つずつ値を取り出します。取り出すときにカウンターで数を数えておき、if()で$valueが1のとき$counterを出力します。