0
0

前置き

等差数列とは、初めの数に一定の数を足し続ける法則です。
等比数列とは、初めの数に一定の数を掛け続ける法則です。
今日は、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になっています。

このように、このプログラムコードを使った出力結果と、実際の公式に基づいた計算で解答が一致して、ちゃんと等比数列が出力されます。

皆さんも時間がある時にこのプログラムコードを参考にして、等差数列、等比数列を出力してみてはいかがでしょうか。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0