【DPメニュー】> 【漸化式】STEP: 3 特殊な2項間漸化式 1 (paizaランク B 相当) [難易度: 1477 ±15]
※リンク先へ移動するためには[paiza]へのログインが必要です。
整数 x, d_1, d_2, k が与えられます。
次のように定められた数列の k 項目の値を出力してください。
・ a_1 = x
・ a_n = a_{n-1} + d_1 (n が奇数のとき、n ≧ 3)
・ a_n = a_{n-1} + d_2 (n が偶数のとき)
(ヒント)
添字の偶奇によって漸化式の形が変わっていますが、やることはこれまでと同じです。a_1 ~ a_{k-1} が求まっているとして、a_k をどのように計算すればよいかを考えてみましょう。計算するときに、添字の偶奇による場合分けを行えばよいです。
入力値(例)
5 -7 10 5
出力値(例)
11
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php list($x, $d1, $d2, $k) = explode(" ", trim(fgets(STDIN))); $a[1] = $x; for ($i = 2; $i <= 1000; $i++) { if ($i % 2 == 0) { $a[$i] = $a[$i - 1] + $d2; } else { $a[$i] = $a[$i - 1] + $d1; } } echo $a[$k]; ?> |