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。
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)