一週間で身につくC# の勉強中9

prob8-9

自分自身以外の約数の総和が自分自身に等しくなる自然数完全数とう。例えば6の約数は1,2,3でその和は6となりますので完全数である。10000以下の整数の中から、全ての完全数を探し出し表示するプログラムを作りなさい。

考え方のポイント

約数の合計を出せばいいので、割ったときに余りの出ない数かつ自分自身ではない数なら合計に加算していく。それが終われば一度合計を0に戻すのを忘れないで!(答えは 6 28 496 8128 になりました。)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prob8_9
{
    class Program
    {
        static void Main(string[] args)
        {
            for(int i = 1; i < 10001; i++)
            {
                int goukei = 0;
                for (int j = 1; j < 10001; j++)
                {
                    if (i % j == 0 && i!=j)
                    {
                        goukei = goukei + j;
                    }
                }
                if (goukei == i)
                {
                    Console.Write(i + " ");
                }
            }
        }
    }
}