今日の人気記事

  1. 入力した2つの自然数の最大公約数を求める
  2. 条件演算子(3項演算子)「? :」

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

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

スポンサーリンク

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

完全数とは

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

一番有名な完全数は「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. 配列に格納した数値を昇順ソートする
  3. 乱数 - 0〜1のランダムな数値を出力
  4. 2進数を10進数に変換する
  5. 入力した自然数の約数を求める
  6. ASCIIコードの表を出力する
  7. 割合・百分率(%)を計算する
  8. 入力した2つの数値を交換する
  9. 乱数 - 1〜10のランダムな数値を出力する
  10. 自分の名前を出力する

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