一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6=1+2+3,编程找出1000以内的所有完数
时间: 2024-12-17 20:17:49 浏览: 39
在C#中,我们可以编写一个简单的循环来找到1000以内的所有完数。我们将遍历每个数,计算其因子(除了自身外)并检查它们的总和是否等于该数本身。如果相等,我们就找到了一个完数。
以下是一个示例代码:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
int limit = 1000;
for (int i = 1; i <= limit; i++)
{
if (IsPerfectNumber(i))
{
Console.WriteLine($"The number {i} is a perfect number.");
}
}
}
// Function to check if a number is perfect
static bool IsPerfectNumber(int num)
{
int sum = 1; // Include 1 as every number's factor
for (int i = 2; i * i <= num; i++)
{
if (num % i == 0) // If i divides num without remainder
{
sum += i; // Add the factor
if (i != num / i) // If it's not the square root, add the other factor too
sum += num / i;
}
}
return sum == num && num != 1; // Return true only for non-trivial perfect numbers (not 1)
}
}
```
运行这段代码后,它会在控制台上打印出1000以内所有的完数。
阅读全文
相关推荐

















