【Python】等比数列:1からN番目までの値(項)を表示する

■等比数列

等差数列とは、隣り合う2項の比が一定の数列である。

(例)
2、4、8、16、32、64、128 ・・・・・・①

上記(例:①の数列)について、ひとつひとつの値を「」と呼び、
最初の項を「初項」、隣り合う2項の比を「公比」と呼ぶ。

したがって、①の数列は「初項2、公比2の等比数列」である。

■等比数列の公式

等比数列:a1、a2、a3、a4、a5、a6、a7・・・an・・・・・・②

上記②の等比数列について、初項をa、公比をrとするとき、第N番目の項an一般項)は

an = ar(n-1)

と表すことができる。

■例題

等比数列の公式「 an = ar(n-1)」を使用し、
初項が3、公差-2の等比数列について、1から10番目までの項を求める。

■サンプルコード

# -*- Coding:UTF-8 -*-

# 等比数列の関数
# 引数
#   a:初項(int型)
#   r:公比(int型)
#   n:第N項まで(int型)
# 戻り値
#   等比数列の値(list型)
def tohisuretsu(a:int, r:int, n:int) -> list:

    # 空の配列をセット
    ans = []

    # ループ用初期値(ループカウンタ)
    i = 1

    # N番目の値が格納されるまで処理を繰り返す
    while len(ans) < n:
        # 等比数列の公式(a * r**(i-1))の結果を配列に格納
        ans.append(a * r**(i-1))

        i = i + 1

    # 戻り値として、配列を返す
    return ans

# メイン処理
if __name__ == '__main__':
    # 初項3、公比-2、第10項まで
    a = 3
    r = -2
    n = 10

    # 等比数列の関数を呼び出す
    result = tohisuretsu(a, r, n)

    # 実行結果を表示
    print(result)

■実行結果

[3, -6, 12, -24, 48, -96, 192, -384, 768, -1536]

コメント

タイトルとURLをコピーしました