求完数没错误但输不出结果
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplicati
{
class Program
{
static void Main(string[] args)
{
int i,j,s=0;
for (i = 2; i <= 1000; i++)
{
for (j = 1; j <= (i / 2); j++)
{
if ((i % j == 0)==true)
{
s += j;
if ((s == i)==true)
{
Console.WriteLine(s);
}
}
}
}
Console.Read();
}
}
}
[解决办法]
完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。
你的判断s==i有问题,必须第一个循环结束后再判断
for (j=1;j<=(i/2);j++){ if (i%j==0) s += j;}if (s==i) Console.WriteLine(s);