如何用C#编程来找出指定范围内所有的'水仙数',即那些其各位数字立方之和等于该数本身的三位十进制整数?
时间: 2024-10-23 14:15:31 浏览: 20
在C#中,你可以创建一个方法来查找指定范围内的水仙数。首先,你需要遍历给定的范围,对每个三位数进行判断是否满足水仙数条件。下面是一个简单的示例:
```csharp
using System;
class Program
{
static void Main()
{
int start = 100; // 范围开始
int end = 999; // 范围结束
Console.WriteLine("Water Lily Numbers in the range {0} to {1}:", start, end);
FindWaterLilyNumbers(start, end);
}
// 水仙数检查函数
static bool IsWaterLilyNumber(int number)
{
string digits = number.ToString();
int sum = 0;
for (int i = 0; i < digits.Length; i++)
{
sum += Int32.Parse(digits[i].ToString()) * Int32.Parse(digits[i].ToString()) * Int32.Parse(digits[i].ToString());
}
return sum == number;
}
// 查找并打印水仙数
static void FindWaterLilyNumbers(int low, int high)
{
for (int num = low; num <= high; num++)
{
if (IsWaterLilyNumber(num))
{
Console.WriteLine(num);
}
}
}
}
```
在这个程序里,`IsWaterLilyNumber`方法将输入的数字转换为字符串,然后逐个计算每位数字的三次方并求和,最后比较这个和是否与原数相等。如果相等,那么这个数就是水仙数。
阅读全文