[問題 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番目の数」を呼び出す(数列のリスト を引数にする)

//

この記事が気に入ったらサポートをしてみませんか?