c# 求1000之内的所有完数 程序怎么写

c# 求1000之内的所有完数 程序怎么写,第1张

本人来自南阳师范学院计算机科学与技术系,刚自学C#两天,这是我用C#控制台程序编的求1000之内的完数程序:

using System

using System.Collections.Generic

using System.Linq

using System.Text

namespace Wanshu

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("1000之内的所有“完数”:")

for (int i = 1i <= 1000i++)

{

int num = 0

for (int j = 1j <ij++)

{

if (i % j == 0)

{

num += j

}

}

if (num == i)

{

Console.WriteLine(i)

}

}

Console.ReadLine()

}

}

}

输出结果为;

1000之内的所有“完数”:

6

28

496

bool b = true //默认这个数字是素数如果b=false循环逻辑会很难写)

for (int i = 1 i <=1000 i++) //循环1-1000的所有数

{

    for (int j = 2 j < i j++) //循环2到当前数字前一位作为除数,反复取余

     {

         if (i % j == 0) //如果 当前数 / 除数 除尽了

         {

            b = false //那么这个数不是素数

            break //循环除数的for在这里中止,执行上一层for剩下的代码

         }

     }

     if ( b == true )

        {

           Console.WriteLine(i)//如果是素数则输出

        }

       b = true//不论结果怎样,必须把b恢复为默认状态true,否则下一个数字如果是素数,就进入不了if( b == true)来输出。如果下一个数不是素数,则它会被if (i % j == 0)处赋值为false。

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11829535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存