设计一个程序,输出所有的水仙花数。所谓水仙花数是一个三位整数,其各位数字的立方和等于该数的本身。例如:153=1^3+5^3+3^3。 用c#编程
时间: 2024-10-19 07:14:10 浏览: 31
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
设计一个C#程序来找出所有的水仙花数,可以使用循环遍历所有三位数,然后对每一位进行立方并计算总和,如果总和等于原数,则说明这个数是水仙花数。下面是一个简单的示例:
```csharp
using System;
class Program
{
static void Main()
{
int start = 100; // 开始从100查找,因为0和1不是三位数
int end = 999; // 结束到999,包括999
Console.WriteLine("水仙花数:");
foreach (int num in FindArmstrongNumbers(start, end))
{
Console.WriteLine(num);
}
}
// 函数用于找到指定范围内的水仙花数
static IEnumerable<int> FindArmstrongNumbers(int lowerBound, int upperBound)
{
for (int number = lowerBound; number <= upperBound; number++)
{
int sumOfCubes = 0;
int originalNum = number;
while (originalNum != 0)
{
int digit = originalNum % 10;
sumOfCubes += Math.Pow(digit, 3); // 立方并累加
originalNum /= 10;
}
if (sumOfCubes == number)
{
yield return number; // 如果满足条件,返回该数
}
}
}
}
```
当你运行这个程序,它会打印出所有在100到999之间的水仙花数。
阅读全文