【練習問題】全約数を表示し、約数の個数も表示しよう【C】

※本サイトはアフィリエイト広告を利用しています。
アイキャッチIT技術
この記事は約2分で読めます。
スポンサーリンク

問題文

整数値を読み込み、その整数値の約数を全て表示し、またその約数の個数を表示する。

【表示例】

整数値:50

約数:1 2 5 10 25 50

約数は6個です。

※赤文字はユーザに入力を求める箇所、青文字は、入力により表示が変動する箇所です。

プログラムの手順

  1. 変数を宣言する
  2. 整数値の入力を求める
  3. 約数をループで求め、表示を行なう
  4. 3で約数を求める際に、個数のカウントも行なう
  5. 約数の個数を表示する
フローチャート

サンプルプログラム

/*
	整数値を読み込んで、約数を表示し、その後約数の個数を表示するプログラム
*/

#include<stdio.h>
int main(void)
{
	int i, number;
	int count = 0;

	printf("整数値:");
	scanf("%d", &number);

	printf("約数:");
	for (i = 1; i <= number; i++) {
		if (number % i == 0) {
			printf("%d ", i);
			count++;
		}
	}
	putchar('\n');
	printf("約数は%d個です。", count);

	return 0;
}
うおな
うおな

約数は、number % i == 0 つまり、読み込んだ整数値を1から順に剰余算していき、余りが0だった場合に、約数として表示しています。

表示する時に、個数のカウントも同時に行なうのが、コードがすっきりして良いと思います。

タイトルとURLをコピーしました