マルチスレッド版数独自動生成ソフト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() を終わるためのお呪い

}

このコードを改良して等差数列の和

を考えてください。



第12章第3話へ 第12章5話へ

本講義トップへ