用c#数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。创建一个应用程序,在控制台输入两个值,一个输入m,一个输入n,输出数据,如果有多个数据,用空格隔开。 示例1 输入:120 300输出:153解释:在这个范围内只有153符合 示例2 输入:100 130输出:no解释:在这个范围内没有水仙数
时间: 2024-04-09 19:27:46 浏览: 107
好的,我明白了你的问题。以下是一个解决方案的示例代码:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
Console.Write("请输入m的值:");
int m = int.Parse(Console.ReadLine());
Console.Write("请输入n的值:");
int n = int.Parse(Console.ReadLine());
bool found = false;
for (int i = m; i <= n; i++)
{
int num = i;
int sum = 0;
while (num > 0)
{
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (sum == i)
{
Console.Write(i + " ");
found = true;
}
}
if (!found)
{
Console.WriteLine("no");
}
}
}
```
这段代码首先会要求用户输入m和n的值,然后使用一个循环遍历m到n之间的所有数字。对于每个数字,它会计算各位数字的立方和,并与该数字进行比较。如果相等,则将该数字输出,并将`found`标志设置为`true`。
如果在范围内找不到水仙花数,则输出"no"。
希望这个示例能够帮助到你!如果有任何疑问,请随时提问。
阅读全文