[問題 7-1]のヒント
1.「初めの数」にある数を足して作られる数列を等差数列といいます。
次の等差数列の9番目の数を求めましょう。
3、7、11、15・・・
(ノートを使って、解き方をメモしながら解いてください)
2.「初めの数」に「ある数」を足して「n番目」の数を返す関数「等差数列」のプログラムを作りましょう。
1についてですが、等差数列について確認しましょう。
7 - 3 = 4
11 - 7 = 4
15 - 11 = 4
・・・
3からはじまり、2つの数の間の差が4の数列の数列のn番目の値は、次のように書くことができます。
a = はじめの数
b = 2つの数の差
n番目の数 = a + (b × (n-1))
または
n番目の数 = はじめの数
b = 2つの数の差
(n-1)回繰り返す
n番目の数 = n番目の数 + b
2については、このプログラムを 関数「n番目の数」として作ります。関数「n番目の数」には「数列のはじめの数と、2つの数の差、n番目」をリストとして渡します。1の問題の場合は[3, 4, 9]というリストを渡します。
n番目の数(list)を次のようにつくります
はじめの数 = リストの先頭の要素
2つの数の差 = リストの2番目の要素
n = リストのリストの最後の要素
関数「n番目の数」は次のようになります。
(n-1)回繰り返す
はじめの数 = はじめの数+ b
はじめの数 を返す
関数「n番目の数」を呼び出すプログラムは次のようになります。
数列のリスト = [3,4,9]
n番目の数 = 関数「n番目の数」を呼び出す(数列のリスト を引数にする)
//