【C言語】約数を大きい順に表示していくプログラムの書き方を解説

この記事では、C言語を使って約数を求める方法と、求めた約数を大きい順に表示する方法を解説します。

目次から探す

約数を求める方法

約数を求める方法には、以下の2つの方法があります。

方法1: 全ての数を順番に試す方法

この方法では、1から順番に数を増やしながら、その数が与えられた数の約数であるかどうかを判定します。

具体的な手順は以下の通りです。

  1. 与えられた数を変数に格納します。
  2. 1から順番に数を増やしながら、その数が与えられた数の約数であるかどうかを判定します。
  3. 約数である場合は、その数を表示します。

以下に、この方法を用いたサンプルコードを示します。

#include <stdio.h>
int main() {
    int num;
    printf("整数を入力してください: ");
    scanf("%d", &num);
    printf("%dの約数: ", num);
    for (int i = 1; i <= num; i++) {
        if (num % i == 0) {
            printf("%d ", i);
        }
    }
    return 0;
}

上記のコードを実行すると、与えられた数の約数が表示されます。

方法2: 平方根を利用する方法

この方法では、与えられた数の平方根までの数を順番に試し、その数が約数であるかどうかを判定します。

具体的な手順は以下の通りです。

  1. 与えられた数を変数に格納します。
  2. 2から順番に数を増やしながら、その数が与えられた数の平方根までの数であるかどうかを判定します。
  3. 約数である場合は、その数と与えられた数を割った商も約数となります。

この2つの約数を表示します。

以下に、この方法を用いたサンプルコードを示します。

#include <stdio.h>
#include <math.h>
int main() {
    int num;
    printf("整数を入力してください: ");
    scanf("%d", &num);
    printf("%dの約数: ", num);
    for (int i = 2; i <= sqrt(num); i++) {
        if (num % i == 0) {
            printf("%d %d ", i, num / i);
        }
    }
    return 0;
}

上記のコードを実行すると、与えられた数の約数が表示されます。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す