c# while水仙花数
时间: 2023-10-19 10:55:13 浏览: 126
C# 使用 while 循环求水仙花数的代码如下:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
int number = 100;
while (number <= 999)
{
int sum = 0;
int temp = number;
while (temp > 0)
{
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == number)
{
Console.WriteLine(number);
}
number++;
}
}
}
```
输出结果:
```
153
370
371
407
```
这些数都是三位数中的水仙花数。
相关问题
C#for循环水仙花数
C#中使用for循环判断水仙花数的方法如下:
```C#
for (int i = 100; i <= 999; i++)
{
int temp = i;
int sum = 0;
while (temp > 0)
{
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == i)
{
Console.WriteLine(i);
}
}
```
在这段代码中,我们使用for循环初始化计数器变量i为100,并设置循环条件为i小于等于999。在每次循环中,我们使用一个临时变量temp存储当前的i值,通过取模和除法操作获取百位、十位和个位数字,并将它们的立方相加得到sum。如果sum等于i,则输出该数为水仙花数。
c#while实现:输出所有三位数中的水仙花数(水仙花数是三位数,该三位数的个位、十位、百位的立方和等于这个数。例如153=1的立方+5的立方+3的立方)
好的,这是一个简单的问题。可以使用 C# 的 while 循环语句和条件语句实现。代码如下所示:
```csharp
int num = 100;
while (num < 1000)
{
int i = num / 100; // 获取百位数
int j = (num / 10) % 10; // 获取十位数
int k = num % 10; // 获取个位数
if (num == i * i * i + j * j * j + k * k * k)
{
Console.WriteLine(num); // 输出水仙花数
}
num++;
}
```
这段代码中,我们定义了一个变量 `num`,并赋值为 100,表示从 100 开始遍历所有的三位数。然后使用 while 循环语句,当 `num` 不超过 999 时,执行循环体内的代码。
在循环体内,我们使用数学方法获取了 `num` 的百位数、十位数和个位数,并根据水仙花数的定义进行判断。如果 `num` 是水仙花数,则输出它。最后,将 `num` 自增 1,继续下一个循环,直到遍历完所有的三位数。
希望这个回答能够解决你的问题。
阅读全文