如何修改C#中的嵌套for循环?
我正试图打印出一个金字塔/帕斯卡三角形,它将以3为一系列输出。您可以在下面的示例中看到它如何修改C#中的嵌套for循环?,c#,series,pascals-triangle,C#,Series,Pascals Triangle,我正试图打印出一个金字塔/帕斯卡三角形,它将以3为一系列输出。您可以在下面的示例中看到它 1 1 3 1 1 3 9 3 1 1 3 9 27 9 3 1 1 3 9 27 81 27 9 3 1
1
1 3 1
1 3 9 3 1
1 3 9 27 9 3 1
1 3 9 27 81 27 9 3 1
1 3 9 27 81 243 81 27 9 3 1
1 3 9 27 81 243 729 243 81 27 9 3 1
1 3 9 27 81 243 729 2187 729 243 81 27 9 3 1
我得到的不是上述输出,而是:
这是我的密码:
using System;
namespace ConsoleApp
{
class PiscalTriangle
{
static void Main(string[] args)
{
Console.WriteLine("Enter length : ");
int num = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < num; i++)
{
for (int j = num; j > i; j--)
{
Console.Write(" ");
}
int val = 1;
for (int j = 0; j <= i; j++)
{
Console.Write(val + " ");
val = val * (i - j) / (j + 1);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}
使用系统;
名称空间控制台
{
PiscalTriangle类
{
静态void Main(字符串[]参数)
{
Console.WriteLine(“输入长度:”);
int num=Convert.ToInt32(Console.ReadLine());
for(int i=0;ii;j--)
{
控制台。写(“”);
}
int-val=1;
对于(int j=0;j而言,生成所需输出需要考虑三个主要方面:
- 借助
num
变量和范围为1到num
的迭代器i
定义的pascal树的深度
- pascal树的每一行中的元素顺序为1,3,5,7..,当与树的深度相关时,这相当于
2i-1
。因此行值迭代器j
的范围为1到2i-1
- 最后,值
(例如第三行,1 3 9 3 1)
,可以以3次幂x的形式写入,其中x从0
增加到i
,然后减少到0
通过总结这三个条件,我们可以得到我们想要的输出
using System;
namespace ConsoleApp
{
class PiscalTriangle
{
static void Main(string[] args)
{
Console.WriteLine("Enter length : ");
int num = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= num; i++)
{
for (int j = num; j > i; j--)
{
Console.Write(" ");
}
var x = 0;
for (double j = 1; j <= 2*i-1; j++)
{
double val = Math.Pow(3, x);
Console.Write(val + " ");
if(j < i)
{
x++;
}
else
{
x--;
}
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}
使用系统;
名称空间控制台
{
PiscalTriangle类
{
静态void Main(字符串[]参数)
{
Console.WriteLine(“输入长度:”);
int num=Convert.ToInt32(Console.ReadLine());
对于(int i=1;i i;j--)
{
控制台。写(“”);
}
var x=0;
对于(double j=1;j)来说,看起来您正在输出一个正常的Pascal三角形。您有关于“系列3”的文档吗一个?不完全是,实际的问题是编写一个嵌套的for循环来打印我在问题中显示的输出。你能详细解释一下你想要的输出吗?-只是垂直向下方向的列乘以3+水平方向的3->1左和右吗?这就是我想要的输出 1 1 3 1 1 3 9 3 1 1 3 9 27 9 3 1 1 3 9 27 81 27 9 3 1 1 3 9 27 81 243 81 27 9 3 1 3 9 27 81 243 729 243 81 27 9 3 1 3 9 27 81 243 729 2187 729 243 81 27 9 3 1每个下拉行应以帕斯卡格式乘以3(感谢一百万)。)请添加对您执行的更改的解释。仅代码答案不是好答案。@LasseV.Karlsen通过在编写的代码中添加上下文更新了答案。