c#能不能写水仙花数做爱心代码
时间: 2024-09-20 11:04:51 浏览: 42
当然可以,C#是一种强大的面向对象编程语言,完全可以编写出优雅的代码来检测数字是否是“水仙花数”,同时利用其特性展示为爱心形状。水仙花数是指一个三位数,其各位数字立方之和等于该数本身,例如153(1^3 + 5^3 + 3^3 = 153)。
下面是一个简单的C#函数,用于判断并打印出水仙花数,并模拟爱心图案:
```csharp
using System;
public class NarcissisticNumber
{
public static void Main()
{
Console.WriteLine("请输入一个三位数(输入0退出):");
while (true)
{
string input = Console.ReadLine();
if (input == "0")
break;
int number;
if (int.TryParse(input, out number) && IsNarcissistic(number))
{
PrintLuvHeart(number);
}
else
{
Console.WriteLine($"'{number}'不是水仙花数.");
}
}
}
// 判断是否为水仙花数
private static bool IsNarcissistic(int num)
{
int sumOfCubes = 0;
int temp = num;
while (temp > 0)
{
sumOfCubes += (temp % 10) * (temp % 10) * (temp % 10);
temp /= 10;
}
return sumOfCubes == num;
}
// 打印爱心形状的水仙花数
private static void PrintLuvHeart(int number)
{
for (int i = 0; i < number.ToString().Length; i++)
{
char currentChar = number.ToString()[i];
if (currentChar == '1')
Console.Write("*");
else if (currentChar == '5')
Console.Write("|");
else if (currentChar == '8')
Console.Write("/");
else
Console.Write(" ");
}
Console.WriteLine();
}
}
阅读全文