[C言語] nの倍数かどうか判定する方法を解説
C言語で整数がnの倍数かどうかを判定するには、剰余演算子%
を使用します。
具体的には、整数x
をn
で割った余りを求め、結果が0
であればx
はn
の倍数です。
この判定はif
文を用いてif (x % n == 0)
のように記述します。
この方法は効率的で、整数の倍数判定に広く利用されています。
C言語でのnの倍数判定方法
剰余演算子を使った判定
C言語でnの倍数を判定する際に最も基本的な方法は、剰余演算子(%)を使用することです。
剰余演算子は、2つの整数を割った余りを返します。
ある数値がnの倍数であるかどうかを判定するには、その数値をnで割った余りが0であるかを確認します。
#include <stdio.h>
int main() {
int number = 10; // 判定したい数値
int n = 5; // 基準となる数値
// 剰余演算子を使って倍数判定
if (number % n == 0) {
printf("%dは%dの倍数です。\n", number, n);
} else {
printf("%dは%dの倍数ではありません。\n", number, n);
}
return 0;
}
10は5の倍数です。
このコードでは、number
がn
の倍数であるかを判定しています。
number % n
が0であれば、number
はn
の倍数です。
if文による条件分岐
剰余演算子を使った判定を行う際には、if
文を用いて条件分岐を行います。
if
文は、条件が真である場合に特定の処理を実行するための構文です。
以下は、if
文を用いた倍数判定の例です。
#include <stdio.h>
int main() {
int number = 12; // 判定したい数値
int n = 4; // 基準となる数値
// if文による条件分岐
if (number % n == 0) {
printf("%dは%dの倍数です。\n", number, n);
} else {
printf("%dは%dの倍数ではありません。\n", number, n);
}
return 0;
}
12は4の倍数です。
この例では、if
文を使ってnumber
がn
の倍数であるかどうかを判定し、結果に応じて異なるメッセージを表示しています。
関数を使った倍数判定の実装
倍数判定を行う処理を関数として定義することで、コードの再利用性を高めることができます。
以下は、倍数判定を行う関数isMultiple
を定義した例です。
#include <stdio.h>
// 倍数判定を行う関数
int isMultiple(int number, int n) {
return number % n == 0;
}
int main() {
int number = 15; // 判定したい数値
int n = 3; // 基準となる数値
// 関数を使って倍数判定
if (isMultiple(number, n)) {
printf("%dは%dの倍数です。\n", number, n);
} else {
printf("%dは%dの倍数ではありません。\n", number, n);
}
return 0;
}
15は3の倍数です。
このコードでは、isMultiple関数
を定義し、number
がn
の倍数であるかを判定しています。
関数を使うことで、同じ判定処理を複数の場所で簡単に利用することができます。
実際のコード例
単一の数値に対する倍数判定
単一の数値に対して倍数判定を行う基本的な例を示します。
この例では、特定の数値が指定した数の倍数であるかを判定します。
#include <stdio.h>
int main() {
int number = 20; // 判定したい数値
int n = 5; // 基準となる数値
// 単一の数値に対する倍数判定
if (number % n == 0) {
printf("%dは%dの倍数です。\n", number, n);
} else {
printf("%dは%dの倍数ではありません。\n", number, n);
}
return 0;
}
20は5の倍数です。
このコードは、number
がn
の倍数であるかを判定し、結果を表示します。
複数の数値に対する倍数判定
複数の数値に対して倍数判定を行う場合、配列を使用して効率的に処理を行うことができます。
以下の例では、配列内の各数値が指定した数の倍数であるかを判定します。
#include <stdio.h>
int main() {
int numbers[] = {10, 15, 20, 25, 30}; // 判定したい数値の配列
int n = 5; // 基準となる数値
int size = sizeof(numbers) / sizeof(numbers[0]); // 配列の要素数
// 複数の数値に対する倍数判定
for (int i = 0; i < size; i++) {
if (numbers[i] % n == 0) {
printf("%dは%dの倍数です。\n", numbers[i], n);
} else {
printf("%dは%dの倍数ではありません。\n", numbers[i], n);
}
}
return 0;
}
10は5の倍数です。
15は5の倍数です。
20は5の倍数です。
25は5の倍数です。
30は5の倍数です。
このコードは、配列numbers
内の各要素に対して倍数判定を行い、結果を表示します。
ユーザー入力を利用した倍数判定
ユーザーからの入力を利用して倍数判定を行う例です。
この例では、ユーザーに数値を入力してもらい、その数値が指定した数の倍数であるかを判定します。
#include <stdio.h>
int main() {
int number; // ユーザーが入力する数値
int n = 3; // 基準となる数値
// ユーザー入力を利用した倍数判定
printf("数値を入力してください: ");
scanf("%d", &number);
if (number % n == 0) {
printf("%dは%dの倍数です。\n", number, n);
} else {
printf("%dは%dの倍数ではありません。\n", number, n);
}
return 0;
}
数値を入力してください: 9
9は3の倍数です。
このコードは、ユーザーから入力されたnumber
がn
の倍数であるかを判定し、結果を表示します。
ユーザーの入力に応じて動的に判定を行うことができます。
応用例
配列を用いた複数の数値の倍数判定
配列を用いることで、複数の数値に対して効率的に倍数判定を行うことができます。
以下の例では、配列内の数値が指定した数の倍数であるかを判定し、倍数である数値のみを表示します。
#include <stdio.h>
int main() {
int numbers[] = {8, 12, 15, 22, 30}; // 判定したい数値の配列
int n = 3; // 基準となる数値
int size = sizeof(numbers) / sizeof(numbers[0]); // 配列の要素数
// 配列を用いた複数の数値の倍数判定
printf("%dの倍数は: ", n);
for (int i = 0; i < size; i++) {
if (numbers[i] % n == 0) {
printf("%d ", numbers[i]);
}
}
printf("\n");
return 0;
}
3の倍数は: 12 15 30
このコードは、配列numbers
内の各要素に対して倍数判定を行い、倍数である数値をリストアップしています。
ループを使った連続した数値の判定
ループを使用することで、連続した数値に対して倍数判定を行うことができます。
以下の例では、1から10までの数値に対して倍数判定を行います。
#include <stdio.h>
int main() {
int n = 2; // 基準となる数値
// ループを使った連続した数値の判定
printf("1から10までの%dの倍数は: ", n);
for (int i = 1; i <= 10; i++) {
if (i % n == 0) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
1から10までの2の倍数は: 2 4 6 8 10
このコードは、1から10までの数値に対して倍数判定を行い、倍数である数値を表示します。
特定の範囲内での倍数をリストアップ
特定の範囲内で倍数をリストアップすることも可能です。
以下の例では、指定した範囲内での倍数をリストアップします。
#include <stdio.h>
int main() {
int start = 5; // 範囲の開始値
int end = 25; // 範囲の終了値
int n = 4; // 基準となる数値
// 特定の範囲内での倍数をリストアップ
printf("%dから%dまでの%dの倍数は: ", start, end, n);
for (int i = start; i <= end; i++) {
if (i % n == 0) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
5から25までの4の倍数は: 8 12 16 20 24
このコードは、指定した範囲内でn
の倍数をリストアップし、結果を表示します。
範囲を自由に設定することで、様々な条件で倍数を確認することができます。
まとめ
C言語でのnの倍数判定は、剰余演算子を用いることで簡単に実装できます。
剰余演算子を使った基本的な判定方法から、配列やループを用いた応用例まで、様々な方法で倍数判定を行うことができます。
この記事を参考に、倍数判定を活用したプログラムを作成し、C言語の理解を深めてみてください。