情報領域演習第一:P演習
電気通信大学情報理工学域I類 (情報系)
2018年度後学期
[一覧に戻る]
課題C2
問題
次の漸化式で定義される数列 $\{a_n\}$ を考える.
\[
a_n =
\begin{cases}
a & (n = 1 \text{ のとき})\\
2 \sqrt{a_{n-1}} & (n \geq 2 \text{ のとき}).\\
\end{cases}
\]
ただし,$a$ は正の実数である.
$a$ と $n$ が与えられたとき,$a_n$ を計算するメソッド calc_a($a$, $n$) を作成せよ.
入力仕様
- $a$ と $n$ はこの順で与えられる.
- $0.01 \leq a \leq 100000.0$
- $1 \leq n \leq 2000000$
出力仕様
- 出力はputsまたはprintfを使って行い,出力の後に改行する.
- 出力は小数点以下5桁まで行う.
ヒント
Rubyにおいて x の正の平方根は Math.sqrt(x) で求められる.
ヒント
Rubyのprintfにおいて,表示される数の小数点以下の桁数を指定するためには,「f」を用いる.例えば,
printf("%.5f", x)
とすれば,x を小数点以下第5位まで表示する.
例
irb> calc_a 1.0, 3
2.82843
=> nil
irb> calc_a 1.0, 30
4.00000
=> nil
irb> calc_a 0.0123456, 10
3.95509
=> nil
irb> calc_a 12345.6789, 20
4.00006
=> nil
irb> calc_a 99999.9, 10
4.07990
=> nil
提出法
CED (CentOS) にて,プログラムを作成したディレクトリで以下を実行せよ.
% ~oa000833/enshu1p/checker_c2.rb ファイル名
「Submission successfully completed.」と表示されれば,提出が完了したことになる.
[一覧に戻る]
[Teaching Top]
[Top]
okamotoy@uec.ac.jp