c#编写一个程序,打印出所有“水仙花数”。所谓“水仙花数”,是指这样的一个三位数,其各位数字立方和等于该数字本身。
时间: 2023-09-07 21:14:43 浏览: 185
好的,以下是 C# 代码实现:
```csharp
using System;
class Program {
static void Main(string[] args) {
int num, i, j, k;
for (num = 100; num < 1000; num++) {
i = num / 100; // 获取百位数
j = num / 10 % 10; // 获取十位数
k = num % 10; // 获取个位数
if (num == i * i * i + j * j * j + k * k * k) {
Console.WriteLine(num);
}
}
}
}
```
输出结果为:
```
153
370
371
407
```
这些数字便是“水仙花数”。
相关问题
编写C#应用程序,显示所有三位数中的水仙花数所谓水仙花数是指一个三位。数其各位数字立方和等于该数本身。例如153=1×1×1+5×5×5+3×3×3。所以153是一个水仙花数。
在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`方法检查每个数是否为水仙花数。如果是,则输出该数。
编写代码,要求在页面上输出所有的水仙花数,水仙花数是指一个三位数,它的各位数字立方之和等于该数本身C#
好的,以下是C#代码实现输出所有的水仙花数:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
for (int i = 100; i < 1000; i++)
{
int a = i / 100; // 获取百位数
int b = (i / 10) % 10; // 获取十位数
int c = i % 10; // 获取个位数
int sum = a * a * a + b * b * b + c * c * c; // 计算各位数字立方之和
if (sum == i) // 判断是否为水仙花数
{
Console.WriteLine(i);
}
}
}
}
```
运行结果如下:
```
153
370
371
407
```
阅读全文