1から入力した自然数までの総和を計算する
当ページのリンクには広告が含まれています。
スポンサーリンク
ここでは1から入力した自然数までの総和(和)を計算するサンプルプログラムを紹介します。
例えば、「30」という自然数を入力すると
$$ 1 + 2 + 3 + \cdots + 29 + 30 = \sum_{n=1}^{30} n $$といった和を計算するプログラムをみていきます。
まずは自然数の定義を確認しておきましょう。
自然数
自然数とは、「1, 2, 3, ...」といった正の整数のことです。
「-1」は、負の整数なので自然数ではありません。また「0」も自然数ではありません。
サンプルプログラム - 1から入力した自然数までの総和を
それでは実際にfor文を使って、1から入力した自然数までの総和を計算するサンプルプログラムをみてみましょう。
入力した数値が自然数でない場合はif 〜 else文を使って、コメントを出力するようにしています。
/* * C言語のサンプルプログラム - Webkaru * - 1から入力した自然数の総和を計算 - */ #include <stdio.h> int main(void) { int i; /* 自然数 */ int num; /* 総和 */ int sum = 0; /* 自然数を入力 */ printf("自然数を入力してください = "); scanf("%d", &num); /* 入力された数が自然数かどうかを確認 */ if(num<1) { printf("自然数は0より大きな正の整数です。\n"); printf("1, 2, 3, ... みたいな数です。\n"); printf("もう一度、プログラムを動かし、数を入力しましょう。\n"); } /* 自然数であれば、総和を計算*/ else { for(i=1;i<=num;++i){ sum = sum + i; } /* 計算した総和を出力 */ printf("総和 = %d\n", sum); } return 0; }
サンプルプログラムで使っている構文
実行結果
いくつかの実行結果です。
自然数を入力してください = 10 総和 = 55
自然数を入力してください = 30 総和 = 465
自然数を入力してください = 50 総和 = 1275
自然数を入力してください = -10 自然数は0より大きな正の整数です。 1, 2, 3, ... みたいな数です。 もう一度、プログラムを動かし、数を入力しましょう。
自然数を入力してください = 0 自然数は0より大きな正の整数です。 1, 2, 3, ... みたいな数です。 もう一度、プログラムを動かし、数を入力しましょう。
いろいろな数値を入力してみました。