問題文
整数値を読み込み、その整数値の約数を全て表示し、またその約数の個数を表示する。
※赤文字はユーザに入力を求める箇所、青文字は、入力により表示が変動する箇所です。
プログラムの手順
- 変数を宣言する
- 整数値の入力を求める
- 約数をループで求め、表示を行なう
- 3で約数を求める際に、個数のカウントも行なう
- 約数の個数を表示する
サンプルプログラム
/*
整数値を読み込んで、約数を表示し、その後約数の個数を表示するプログラム
*/
#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だった場合に、約数として表示しています。
表示する時に、個数のカウントも同時に行なうのが、コードがすっきりして良いと思います。