今日の人気記事

  1. switch文 - 数値による場合分け

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

当ページのリンクには広告が含まれています。

スポンサーリンク

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

完全数とは

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

一番有名な完全数は「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 は完全数ではありません!

サンプルプログラム の人気記事

  1. 入力した2つの数値を交換する
  2. 配列の数値の平均値を計算する
  3. 配列に格納した数値を昇順ソートする
  4. サンプルプログラム集
  5. 入力した自然数が素数かどうかを判定する
  6. 乱数 - 1〜10のランダムな数値を出力する
  7. 入力した整数が偶数か奇数かを判別する
  8. 入力した文字列の文字数を表示する(出力)
  9. 10進数を2進数に変換する
  10. 入力した自然数を逆順に並べ替える

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