マルチスレッド版数独自動生成ソフトC++コードを題材とする超初心者のためのVisual Studio C++講義
第12章 while文
第4話 等差数列の一般項
コード例
#include<iostream>//インクルードファイルiostreamの読み込み
#include<conio.h>//while(!_kbhit());を使うためのお呪い
#include<string> //文字列変数を使えるようにするために組み込む
#include <iomanip> //setprecisionを使えるように組み込む
#include <cmath>//powなどを使うときに必要
#include <ctime>//time()(←現時刻発生する関数)を使うために必要
using namespace std;//coutを使うときに必要なお呪い
size_t 一般項();//等差数列の一般項
const size_t 初項 = 5;
const size_t 公差 = 2;
const size_t 項数 = 3;
int main() {//私は社長だ。
cout << "第n項 = ";
cout << 一般項() << endl;
cout << "プロジェクト終了" << endl;
while (!_kbhit());//待機させるための命令
return 0;//int main() を終わるためのお呪い
}
size_t 一般項() {
size_t k = 公差;
size_t i = 1;
size_t an = 初項;
while (i < 項数) {
an += 公差;
i++;
}
return(an);
}
実行結果

(
第n項 = 23
プロジェクト終了
)
さて、次の話題です。
5
5 + 7 = 12
5 + 7 + 9 = 21
5 + 7 + 9 + 11 = 32
5 + 7 + 9 + 11 + 13 = 45
・
・
これは等差数列の和です。
等差数列の和を求めるにはwhile文の中にwhile文入れ子式に入れればよいのです。
そこで、単純化するために上のコードを次ぎようように改良します。
#include<iostream>//インクルードファイルiostreamの読み込み
#include<conio.h>//while(!_kbhit());を使うためのお呪い
#include<string> //文字列変数を使えるようにするために組み込む
#include <iomanip> //setprecisionを使えるように組み込む
#include <cmath>//powなどを使うときに必要
#include <ctime>//time()(←現時刻発生する関数)を使うために必要
using namespace std;//coutを使うときに必要なお呪い
const size_t 初項 = 5;
const size_t 公差 = 2;
const size_t 項数 = 2;
int main() {//私は社長だ。
size_t k = 公差;
size_t i = 1;
size_t an = 初項;
while (i < 項数) {
an += 公差;
i++;
}
cout << "第n項 = " << an << endl;
cout << "プロジェクト終了" << endl;
while (!_kbhit());//待機させるための命令
return 0;//int main() を終わるためのお呪い
}
このコードを改良して等差数列の和

を考えてください。