求1-1000内所有的完数(一个数如果恰好等于它的因子之和,这个数就称为“完数”。如6就是1个完数: 6=1+2+3,因子数就是所有可以整除这个数的数,但是不包括这个数自身.比如15的

这是一个C#程序,用于遍历1到1000之间的每个数,检查并打印出所有完数。完数是指一个数等于其因子之和,例如6。程序通过两个嵌套循环实现,外层循环遍历1到1000,内层循环计算当前数的所有因子,并将它们相加。如果总数等于当前数,则输出该数为完数。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _3a
{
    class Program
    {
        static void Main(string[] args)
        {
            
            //用来循环每一个数,判断他是不是完数
            for ( int i =1; i <1001; i++)
            {
                int sum = 0;//用来表示所有因子之和
                //得到某个数的所有因子
                for (int j = 1; j < i; j++)
                {               
                    if(i%j==0)
                    {    
                        //对所有的因子进行求和               
                        sum += j;
                    }
                }
                if(i==sum)//让该数与因子之和进行比较,看是否相等
                {
                    Console.WriteLine("{0}是完数",i);
                }
            }
            Console.ReadKey();          
        }
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值