C#for循环水仙花数
时间: 2023-11-07 21:58:21 浏览: 37
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#写个水仙花数
当然可以,以下是用 C# 编写的水仙花数代码:
```csharp
using System;
public class NarcissisticNumber
{
public static void Main()
{
int num, sum, temp;
Console.WriteLine("水仙花数:");
for (int i = 100; i <= 999; i++)
{
num = i;
sum = 0;
while (num > 0)
{
temp = num % 10;
sum += temp * temp * temp;
num /= 10;
}
if (sum == i)
{
Console.Write(i + " ");
}
}
Console.ReadLine();
}
}
```
运行结果:
```
水仙花数:
153 370 371 407
```
该程序通过 for 循环从 100 到 999 遍历所有三位数,计算每个数字的各个位的立方和。如果计算结果等于该数字本身,就将该数字输出。这些数字就是水仙花数。
c# while水仙花数
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
```
这些数都是三位数中的水仙花数。