前置き
等差数列とは、初めの数に一定の数を足し続ける法則です。
等比数列とは、初めの数に一定の数を掛け続ける法則です。
今日は、Pythonを使って、等差数列と等比数列を出力するコードを作りました。
等差数列のプログラムコード
このプログラムコードでは、ユーザーが初めの項、公差、項数を指定します。
その後、等差数列になります。
def arithmetic_sequence(a, d, n):
"""
等差数列を生成する関数
Parameters:
a (int or float): 初項
d (int or float): 公差
n (int): 項数
Returns:
list: 等差数列
"""
sequence = []
for i in range(n):
sequence.append(a + i * d)
return sequence
# ユーザーが入力
a = float(input("等差数列の初項を入力してください: "))
d = float(input("等差数列の公差を入力してください: "))
n = int(input("等差数列の項数を入力してください: "))
print("等差数列:", arithmetic_sequence(a, d, n))
プログラムコードの説明
このプログラムコードでは、aを初項、dを公差、nを項数としています。
出力結果
等差数列の初項を入力してください: 2
等差数列の公差を入力してください: 5
等差数列の項数を入力してください: 15
等差数列: [2, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57, 62, 67, 72]
等差数列の初項を入力してください: 3
等差数列の公差を入力してください: 4
等差数列の項数を入力してください: 10
等差数列: [3, 7, 11, 15, 19, 23, 27, 31, 35, 39]
等差数列の初項を入力してください: 5
等差数列の公差を入力してください: 6
等差数列の項数を入力してください: 12
等差数列: [5, 11, 17, 23, 29, 35, 41, 47, 53, 59, 65, 71]
出力結果の確認
初項:数列において、最初となる数
公差:等差数列において、次の数までの差
項数:等差数列の合計の数
1つ目では、初項2、公差5、項数15
(2, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57, 62, 67, 72)数列の数が15個あります。
2つ目では、初項3、公差4、項数10
(3,7,11,15,19,23,27,31,35,39) 数列の数が10個あります。
3つ目では、初項5、公差6、項数12
(5,11,17,23,29,35,41,47,53,59,65,71) 数列の数が12個あります。
このように、このプログラムコードを使った出力結果と、実際の公式に基づいた計算で解答が一致して、ちゃんと等差数列が出力されます。
等比数列のプログラムコード
ここでも、ユーザーが初めの項、公比、項数を指定します。
その後、等比数列になります。
def geometric_sequence(a, r, n):
"""
等比数列を生成する関数
Parameters:
a (int or float): 初項
r (int or float): 公比
n (int): 項数
Returns:
list: 等比数列
"""
sequence = []
for i in range(n):
sequence.append(a * (r ** i))
return sequence
# ユーザー入力
a = int(input("等比数列の初項を入力してください: "))
r = int(input("等比数列の公比を入力してください: "))
n = int(input("等比数列の項数を入力してください: "))
print("等比数列:", geometric_sequence(a, r, n))
プログラムコードの説明
ここでは、等比数列の初項をa,公比をr,項数をnとしています。
出力結果
等比数列の初項を入力してください: 2
等比数列の公比を入力してください: 5
等比数列の項数を入力してください: 3
等比数列: [2, 10, 50]
等比数列の初項を入力してください: 3
等比数列の公比を入力してください: 7
等比数列の項数を入力してください: 5
等比数列: [3, 21, 147, 1029, 7203]
等比数列の初項を入力してください: 5
等比数列の公比を入力してください: 8
等比数列の項数を入力してください: 7
等比数列: [5, 40, 320, 2560, 20480, 163840, 1310720]
出力結果の確認
初項:数列において、最初となる数
公比:等比数列において、次の数までの比
項数:等比数列の合計の数列の数
1つ目では、初項2, 公比5, 項数3
(2,10,50) 数列の数は3個で、各項の差も5になっています。
50 / 10 = 5, 10 / 2 = 5
2つ目では、初項3, 公比7, 項数5
(3,21,147,1029, 7203)
7203/1029 = 7, 1029 / 147 = 7, 147/21 = 7, 21/3 = 7
数列の数は5個で、各項の差も7になっています。
3つ目では、初項5, 公比8, 項数7
(5,40,320,2560,20480,163840, 1310720)
1310720/163840 = 8, 163840/20480 = 8 , 20480/2560 = 8, 2560/320 = 8, 320/40 = 8, 40/5 = 8
数列の数は7個で、各項の差も8になっています。
このように、このプログラムコードを使った出力結果と、実際の公式に基づいた計算で解答が一致して、ちゃんと等比数列が出力されます。
皆さんも時間がある時にこのプログラムコードを参考にして、等差数列、等比数列を出力してみてはいかがでしょうか。