[C言語] 3の倍数かつ5の倍数であるか判定する方法を解説

C言語で数値が3の倍数かつ5の倍数であるかを判定するには、数値を15で割った余りを確認します。

具体的には、if文を使用して、number % 15 == 0という条件をチェックします。

この条件が真であれば、その数値は3の倍数かつ5の倍数、すなわち15の倍数であると判定できます。

この方法は、3と5の最小公倍数である15を利用することで、効率的に判定を行うことができます。

この記事でわかること
  • 3の倍数かつ5の倍数を判定するための基本的な条件設定方法
  • C言語での具体的な実装例とその解説
  • 1から100までの数を判定するプログラムの作成方法
  • 判定結果をファイルに出力する方法

目次から探す

3の倍数かつ5の倍数の判定

両方の条件を組み合わせる方法

3の倍数かつ5の倍数であるかを判定するためには、数値が3の倍数であり、かつ5の倍数であることを確認する必要があります。

これを実現するためには、以下の条件を組み合わせます。

  • 数値を3で割った余りが0であること
  • 数値を5で割った余りが0であること

この2つの条件を同時に満たす場合、その数値は3の倍数かつ5の倍数、すなわち15の倍数であると言えます。

C言語では、これらの条件を論理演算子&&を用いて組み合わせることができます。

C言語での実装例

以下に、C言語で3の倍数かつ5の倍数を判定するプログラムのサンプルコードを示します。

#include <stdio.h>
int main() {
    int number;
    // ユーザーに数値の入力を求める
    printf("数値を入力してください: ");
    scanf("%d", &number);
    // 3の倍数かつ5の倍数であるかを判定
    if (number % 3 == 0 && number % 5 == 0) {
        printf("%dは3の倍数かつ5の倍数です。\n", number);
    } else {
        printf("%dは3の倍数かつ5の倍数ではありません。\n", number);
    }
    return 0;
}
数値を入力してください: 30
30は3の倍数かつ5の倍数です。

このプログラムでは、ユーザーから入力された数値が3の倍数かつ5の倍数であるかを判定し、その結果を表示します。

number % 3 == 0number % 5 == 0の両方の条件を満たす場合に、指定されたメッセージを出力します。

応用例

1から100までの数を判定するプログラム

1から100までの数を順にチェックし、それぞれが3の倍数かつ5の倍数であるかを判定するプログラムを作成します。

このプログラムは、ループを使用して各数値を確認し、条件を満たす場合にその数値を表示します。

#include <stdio.h>
int main() {
    // 1から100までの数をループで判定
    for (int i = 1; i <= 100; i++) {
        if (i % 3 == 0 && i % 5 == 0) {
            printf("%dは3の倍数かつ5の倍数です。\n", i);
        }
    }
    return 0;
}
15は3の倍数かつ5の倍数です。
30は3の倍数かつ5の倍数です。
45は3の倍数かつ5の倍数です。
60は3の倍数かつ5の倍数です。
75は3の倍数かつ5の倍数です。
90は3の倍数かつ5の倍数です。

このプログラムは、1から100までの数を順にチェックし、3の倍数かつ5の倍数である数を表示します。

ユーザー入力に基づく判定プログラム

ユーザーから複数の数値を入力してもらい、それぞれが3の倍数かつ5の倍数であるかを判定するプログラムを作成します。

#include <stdio.h>
int main() {
    int number, count;
    // 判定する数値の個数を入力
    printf("判定する数値の個数を入力してください: ");
    scanf("%d", &count);
    for (int i = 0; i < count; i++) {
        printf("数値を入力してください: ");
        scanf("%d", &number);
        if (number % 3 == 0 && number % 5 == 0) {
            printf("%dは3の倍数かつ5の倍数です。\n", number);
        } else {
            printf("%dは3の倍数かつ5の倍数ではありません。\n", number);
        }
    }
    return 0;
}

このプログラムでは、ユーザーが指定した数の数値を入力し、それぞれについて3の倍数かつ5の倍数であるかを判定します。

判定結果をファイルに出力するプログラム

判定結果をファイルに出力するプログラムを作成します。

これにより、結果を後で確認することができます。

#include <stdio.h>
int main() {
    FILE *file;
    int number;
    // ファイルを開く
    file = fopen("result.txt", "w");
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // ユーザーに数値の入力を求める
    printf("数値を入力してください: ");
    scanf("%d", &number);
    // 判定結果をファイルに書き込む
    if (number % 3 == 0 && number % 5 == 0) {
        fprintf(file, "%dは3の倍数かつ5の倍数です。\n", number);
    } else {
        fprintf(file, "%dは3の倍数かつ5の倍数ではありません。\n", number);
    }
    // ファイルを閉じる
    fclose(file);
    printf("判定結果をresult.txtに出力しました。\n");
    return 0;
}

このプログラムは、ユーザーから入力された数値の判定結果をresult.txtというファイルに出力します。

ファイルが正常に開けない場合はエラーメッセージを表示します。

よくある質問

剰余演算子を使う際の注意点は?

剰余演算子%を使用する際には、被除数が整数である必要があります。

浮動小数点数に対しては使用できません。

また、負の数に対しても正しく動作しますが、結果が負になることがありますので注意が必要です。

例:-10 % 3-1になります。

3と5の倍数以外の数を判定するにはどうすればいい?

3と5の倍数以外の数を判定するには、if文の条件を変更することで実現できます。

例えば、3の倍数でない数を判定するには、if (number % 3 != 0)のように条件を設定します。

まとめ

3の倍数かつ5の倍数を判定する方法は、C言語をはじめとする多くのプログラミング言語で共通のロジックを用いて実装できます。

振り返ると、剰余演算子と論理演算子を組み合わせることで、特定の条件を満たす数を簡単に判定できることがわかりました。

この記事を参考に、他の条件や言語でも応用してみてください。

  • URLをコピーしました!
目次から探す