题解 | #完全数计算#

完全数计算

https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84

using System;

namespace HJ56
{
    internal static class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int m = 0;
            for (int i = 1; i < n + 1; i++)
            {
                if (i.IsPerfectNumber())
                {
                    m++;
                }
            }
            Console.WriteLine(m);
        }


        static bool IsPerfectNumber(this int num)
        {
            int sum = 0;
            for (int i = 1; i < Math.Sqrt(num) + 1; i++)
            {
                if (num % i == 0)
                {
                    sum += i;
                    sum += num / i;
                }
            }
            return sum == num * 2;
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务