1
12
123
1234
12345
我曾尝试使用 2 个 FOR 循环来实现这一目标,并尝试使用一个循环进行递归。
public static void Main(string[] args)
{
DisplayNumberPyramid(1);
}
public static void DisplayNumberPyramid(int i)
{
if(i<=5)
{
for(int j=1;j<=i;j++)
{
Console.Write(j);
}
Console.Write("\n");
DisplayNumberPyramid(i+1);
}
Console.ReadLine();
}
使用 LINQ/DnC 方法(带一个循环和不带循环)预计会得到相同的输出。
最佳答案
Linq 解决方案
var results = Enumerable.Range(1, 5)
.Select(x => string.Concat(Enumerable.Range(1, x)));
foreach(var result in results)
Console.WriteLine(result);
如果你真的不想要foreach
Console.WriteLine(string.Join("\r\n",results));
或者for循环
for (var i = 1; i <= 5; i++)
{
for (var j = 1; j <= i; j++)
Console.Write(j);
Console.WriteLine();
}
输出
1
12
123
1234
12345
关于c# - 如何使用 LINQ/Divide and Conquer 方法以优雅的方式迭代一个循环或无循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57620295/