using System;
class ShapePrinter
{
static void Main()
{
Console.WriteLine("✨ 2025年形状测试程序 ✨\n");
// 打印金字塔
int layers = 5;
Console.WriteLine($"正在生成 {layers} 层金字塔:");
PrintPyramid(layers);
// 打印对称菱形
Console.WriteLine("\n正在生成对称菱形:");
PrintDiamond(5);
Console.WriteLine("\n✅ 测试完成!");
}
static void PrintPyramid(int n)
{
for (int i = 0; i < n; i++)
{
Console.Write(new string(' ', n - i - 1));
Console.WriteLine(new string('*', 2 * i + 1));
}
}
static void PrintDiamond(int n)
{
// 上半部分
for (int i = 0; i < n; i++)
{
Console.Write(new string(' ', n - i - 1));
Console.WriteLine(new string('*', 2 * i + 1));
}
// 下半部分
for (int i = n - 2; i >= 0; i--)
{
Console.Write(new string(' ', n - i - 1));
Console.WriteLine(new string('*', 2 * i + 1));
}
}
}
dXNpbmcgU3lzdGVtOwoKY2xhc3MgU2hhcGVQcmludGVyCnsKICAgIHN0YXRpYyB2b2lkIE1haW4oKQogICAgewogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCLinKggMjAyNeW5tOW9oueKtua1i+ivleeoi+W6jyDinKhcbiIpOwogICAgICAgIAogICAgICAgIC8vIOaJk+WNsOmHkeWtl+WhlAogICAgICAgIGludCBsYXllcnMgPSA1OwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQi5q2j5Zyo55Sf5oiQIHtsYXllcnN9IOWxgumHkeWtl+WhlO+8miIpOwogICAgICAgIFByaW50UHlyYW1pZChsYXllcnMpOwoKICAgICAgICAvLyDmiZPljbDlr7nnp7Doj7HlvaIKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiXG7mraPlnKjnlJ/miJDlr7nnp7Doj7HlvaLvvJoiKTsKICAgICAgICBQcmludERpYW1vbmQoNSk7CgogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJcbuKchSDmtYvor5XlrozmiJDvvIEiKTsKICAgIH0KCiAgICBzdGF0aWMgdm9pZCBQcmludFB5cmFtaWQoaW50IG4pCiAgICB7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBDb25zb2xlLldyaXRlKG5ldyBzdHJpbmcoJyAnLCBuIC0gaSAtIDEpKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobmV3IHN0cmluZygnKicsIDIgKiBpICsgMSkpOwogICAgICAgIH0KICAgIH0KCiAgICBzdGF0aWMgdm9pZCBQcmludERpYW1vbmQoaW50IG4pCiAgICB7CiAgICAgICAgLy8g5LiK5Y2K6YOo5YiGCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBDb25zb2xlLldyaXRlKG5ldyBzdHJpbmcoJyAnLCBuIC0gaSAtIDEpKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUobmV3IHN0cmluZygnKicsIDIgKiBpICsgMSkpOwogICAgICAgIH0KICAgICAgICAvLyDkuIvljYrpg6jliIYKICAgICAgICBmb3IgKGludCBpID0gbiAtIDI7IGkgPj0gMDsgaS0tKQogICAgICAgIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZShuZXcgc3RyaW5nKCcgJywgbiAtIGkgLSAxKSk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKG5ldyBzdHJpbmcoJyonLCAyICogaSArIDEpKTsKICAgICAgICB9CiAgICB9Cn0K