級数 2/3 − 4/5 + 6/7 − 8/9 + … の初項から第n項までの和を求める方法
級数(series)とは、何らかの共通の規則や法則に従って並べられた数の列のことを指します。数学には、特定の論理や公式によって定義されたさまざまな級数が存在します。
本記事で扱うのは、次のような符号が交互に入れ替わる級数です。
2/3 , −4/5 , 6/7 , −8/9 , ……
級数の一般項
この級数の一般項は、次の式で表すことができます。
(−1)n × (2n) / (2n + 1)
つまり、分子が偶数(2, 4, 6, 8…)、分母がその次の奇数(3, 5, 7, 9…)となり、正負の符号が1項ごとに交互に現れるのが特徴です。級数の和を求めるには、各項を順番に加算していきます。
2/3 − 4/5 + 6/7 − 8/9 + ……
計算例
具体例を見てみましょう。
入力:10
出力:−0.191921
この場合、第10項までの各項を足し合わせると次のようになります。
(2 / 3) − (4 / 5) + (6 / 7) − (8 / 9) + (10 / 11) − (12 / 13) + (14 / 15) − (16 / 17) + (18 / 19) − (20 / 21) = −0.191921
もう一つの例です。
入力:17
出力:0.77152
n = 17 の場合は17項分を計算し、その結果として 0.77152 が得られます。
C++による実装例
以下は、C++を使ってこの級数の和を求めるプログラムの例です。ループで各項を生成しながら、符号を交互に切り替えて加減算を行っています。
#include <iostream>
using namespace std;
int main() {
int n = 17, i = 1;
double res = 0.0;
bool sign = true;
while (n > 0) {
n--;
if (sign) {
sign = !sign;
res = res + (double)++i / ++i;
} else {
sign = !sign;
res = res - (double)++i / ++i;
}
}
cout << "与えられた級数の和は " << res;
return 0;
}
実行結果
与えられた級数の和は 0.77152
解説
このプログラムでは、変数 i をインクリメントしながら分子と分母を順に生成し、ブール型変数 sign によって符号を管理しています。sign が true のときは項を加算し、false のときは減算することで、交互に現れる符号を再現しています。計算結果は double 型で保持されるため、小数点以下の精度も保たれます。
-
iPhone 5/6からiPhone 7/8/X/11/12/13へデータを移行する3つの方法
「最近新しいiPhone 7を購入したのですが、古いiPhone 5には大切なデータがたくさん入っています。iPhone 5からiPhone 7へ直接データを移行する簡単な方法はありますか?」 このようなお悩みをお持ちの方は多いのではないでしょうか。スマートフォンの買い替え頻度が高まっている昨今、新しいiPhoneを手にしたら、連絡先・写真・音楽・書類などのデータを旧機種から新機種へ引き継ぎたいと考えるのは自然なことです。 本記事では、iPhone 5/5sからiPhone 7/7 Plusへのデータ移行をはじめ、iPhone 8、X、11、12、13など新しい機種への移行方法を3つご紹介しま
-
iPhone 4/5/6で消えた連絡先を復元する方法【iTunes・iCloud両対応】
本ガイドでは、説明をわかりやすくするため、iPhone・iPad・iPodを総称して「iDevice(アイデバイス)」と呼びます。iDeviceのソフトウェアに不具合が発生し、自動的にDFUモードやリカバリーモードへ移行してしまうと、端末内のデータがすべて失われる可能性が高くなります。その中でも、連絡先は絶対に失いたくない最重要データでしょう。幸い、iOSの進化とAppleユーザーならではの特典により、無料で5GBのストレージが使える「iCloud」を利用できます。iCloudは、音楽、メディア、連絡先、iOSアプリなどのデータをリモートのハードディスク(クラウド)上に保存できるクラウドストレ