c#语言一个三位的十进制整数,如果它的三个数位的数字立方和等于这个数的数值,则称它为一个“水仙数”。编写程序,计算出某一范围内的所有“水仙数”。
时间: 2024-10-22 16:18:25 浏览: 40
C#String.Format数字格式化
在C#中,我们可以编写一个函数来找出指定范围内的所有"水仙数"。首先,我们需要遍历这个范围内的每个三位数,然后计算其各位数字立方之和。如果和等于原数本身,就将其标记为"水仙数"。以下是简单的实现步骤:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
int start = 100; // 范围起始值,可以根据需求调整
int end = 999; // 范围结束值,可以根据需求调整
foreach (int number in FindWaterLilyNumbers(start, end))
{
Console.WriteLine(number);
}
}
static bool IsWaterLily(int num)
{
int cubeSum = 0;
string digits = num.ToString();
for (int i = 0; i < 3; i++)
{
cubeSum += int.Parse(digits[i].ToString()) * int.Pow(int.Parse(digits[i]), 3);
}
return cubeSum == num;
}
static IEnumerable<int> FindWaterLilyNumbers(int low, int high)
{
for (int i = low; i <= high; i++)
{
if (IsWaterLily(i))
{
yield return i;
}
}
}
}
```
在这个程序中,`FindWaterLilyNumbers`是一个生成器,会逐个检查给定范围内的数是否是水仙数。`IsWaterLily`函数负责计算并比较数字本身的值与其各位数字立方和。
阅读全文