今日の人気記事

  1. printf関数の変換指定子
  2. 乱数 - サイコロをつくってみよう
  3. 入力した整数が偶数か奇数かを判別する
  4. 条件演算子(3項演算子)「? :」
  5. continue文 - ループをスキップ

1から1000までの完全数を表示する

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

スポンサーリンク

1から1000までの完全数を表示するサンプルプログラムを紹介します。

完全数とは

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

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

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

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

ここでは 1〜1000までの完全数を探す(表示する)プログラムをみていきます。

サンプルプログラム

/*
 * C言語のサンプルプログラム - Webkaru
 * - 1から1000までの完全数を表示 -
 */
#include <stdio.h>

int main(void)
{

  int i, j, amari;

  /* 和 */
  int sum;

  for( i=1; i<=1000; ++i ) {
    sum = 0;

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

    /* 完全数かどうかを判定 */
    if( j == sum )
      printf("%d ", j);

  }

  printf("\n");

  return 0;
}

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

実行結果

実行結果です。

6 28 496

1から1000までの完全数は、以上の3つになります。

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

  1. 配列に格納した数値を昇順ソートする
  2. サンプルプログラム集
  3. 入力した2つの数値を交換する
  4. 入力した行列の積(掛け算)を計算する
  5. 2次方程式の解を計算する
  6. 入力した文字列の文字数を表示する(出力)
  7. 乱数 - 1〜10のランダムな数値を出力する
  8. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  9. 入力した整数が偶数か奇数かを判別する
  10. 10進数を2進数に変換する

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