今日の人気記事

  1. 配列に格納した数値を昇順ソート
  2. サンプルプログラム集
  3. 変数の値を出力 - printf 関数
  4. MinGW - gcc のインストール - Windows環境
  5. 10進数を2進数に変換

入力した数値が完全数かどうかを判定

スポンサーリンク

入力した数値が完全数かどうかを判定するサンプルプログラムを紹介します。

完全数とは

完全数とは、ある数の約数の和(その数自信を除く)がある数に等しい自然数のことです。

一番有名な完全数は「6」です。

「6」の約数は {1,2,3,6}です。「6」を除いた約数の和は「6=1+2+3」なので、完全数ですね。

ちなみに「28」も完全数です。「28=1+2+4+7+14」

スポンサーリンク

サンプルプログラム

それでは入力した数値が完全数かどうかを判定するプログラムをみてみましょう。

/*
 * C言語のサンプルプログラム - Webkaru
 * - 入力した数値が完全数かどうかを判定 -
 */
#include <stdio.h>

int main(void)
{

  int i, amari;

  /* 自然数 */
  int num;

  /* 和 */
  int sum = 0;

  /* 自然数を入力 */
  printf("自然数を入力してください = ");
  scanf("%d", &num);

  for( i=1; i<num; ++i) {
    if( (num % i) == 0)
      sum += i;
  }

  if( num == sum )
    printf("%d は完全数です!\n", num);
  else
    printf("%d は完全数ではありません!\n", num);

  return 0;
}

サンプルプログラムで使っている構文

実行結果

いくつかの実行結果です。

自然数を入力してください = 6
6 は完全数です!
自然数を入力してください = 28
28 は完全数です!
自然数を入力してください = 100
100 は完全数ではありません!
スポンサーリンク

関連記事(一部広告含む)