【C言語】2乗の和を計算する方法をわかりやすく解説

この記事では、C言語で2乗の和を求める方法について解説します。

目次

for文を使った方法

for文を使った方法では、ループ回数を指定して2乗の和を求めることができます。

以下は、1から10までの整数の2乗の和を求めるC言語プログラムです。

#include <stdio.h>

int main() {
    int i, sum = 0;
    for (i = 1; i <= 10; i++) {
        sum += i * i;
    }
    printf("1から10までの整数の2乗の和は%dです。\n", sum);
    return 0;
}

このプログラムでは、変数iに1から10まで順番に代入し、それぞれ二乗した値を変数sumに加算していくことで、最終的な2乗の和を求めています。そして、計算結果を表示するためにprintf関数を使用しています。

このようにfor文を使って簡単かつ効率的に2乗の和を求めることが出来ます。

while文を使った方法

for文ではなくwhile文を使用して、2乗の和を求めることもできます。以下はそのコード例です。

#include <stdio.h>

int main() {
    int n, i = 1, sum = 0;
    printf("正の整数nを入力してください: ");
    scanf("%d", &n);
    
    while (i <= n) {
        sum += i * i;
        i++;
    }
    
    printf("1から%dまでの二乗和は%dです。\n", n, sum);
    
    return 0;
}

このプログラムでは、変数isumを初期化し、ユーザーから入力された値までループ処理します。ループ内部では、現在の値(つまり i * i)が sum 変数に加算されます。そして最後に結果が出力されます。

for文と同様に、whileループでも条件式が必要です。ここでは i <= n を指定しています。これは、「iがn以下であれば繰り返す」という意味です。

どちらか一方だけ覚えておけば十分な場合もありますが、両方理解することでより広範囲な問題に対応することが可能になります。

do-while文を使った方法

do-while文を使った方法では、まず初めに変数の宣言と初期化を行います。その後、do-while文でループ処理を行い、各ループ内で2乗した値を合計していきます。最後に合計値を出力します。

以下がコード例です。

#include <stdio.h>

int main() {
    int n = 5; // 計算する数
    int i = 1; // カウンタ変数
    int sum = 0; // 合計

    do {
        sum += i * i;
        i++;
    } while (i <= n);

    printf("2乗の和は %d\n", sum);

    return 0;
}

このプログラムでは、nに5が代入されており、1から5までの整数の2乗の和を求めることが目的です。

do-while文でiがn以下の間繰り返し処理されます。sumにはi * i(つまりiの2乗)が加算されていきます。最後にsumが出力されることで答えが表示されます。

do-while文は先に一度ブロック内部を実行してから条件式判定するため、必ず一回以上ブロック内部が実行される点に注意してください。

まとめ

C言語を使って2乗の和を求める方法について、for文、while文、do-while文それぞれの方法を紹介しました。

どの方法も基本的な構造は同じですが、微妙な違いがありますので、どの方法も覚えておくといいでしょう。

目次