编写C#应用程序,显示所有三位数中的水仙花数所谓水仙花数是指一个三位。数其各位数字立方和等于该数本身。例如153=1×1×1+5×5×5+3×3×3。所以153是一个水仙花数。
时间: 2024-10-12 12:12:47 浏览: 25
在C#中,你可以使用循环遍历指定范围内的所有三位数,并验证它们是否满足水仙花数的定义。以下是一个简单的示例程序:
```csharp
using System;
class Program
{
static void Main()
{
int start = 100; // 范围开始
int end = 999; // 范围结束
Console.WriteLine("Water Lily Numbers (or Narcissistic Numbers) between {0} and {1}:", start, end);
foreach (int num in Range(start, end))
{
if (IsNarcissistic(num))
{
Console.WriteLine(num);
}
}
}
// 判断一个数是否为水仙花数
static bool IsNarcissistic(int number)
{
string digits = number.ToString(); // 获取数字的每一位
int sum = 0;
foreach (char digit in digits)
{
int digitValue = Int32.Parse(digit.ToString()); // 将字符转换为整数
sum += Math.Pow(digitValue, 3); // 计算每个位的立方并加总
}
return sum == number;
}
// 生成指定范围内的整数序列
static IEnumerable<int> Range(int min, int max)
{
for (int i = min; i <= max; i++)
{
yield return i;
}
}
}
```
这个程序首先定义了一个`Range`方法来生成指定范围内的整数,然后通过`IsNarcissistic`方法检查每个数是否为水仙花数。如果是,则输出该数。
阅读全文