-9

我在许多网站上进行了搜索,但找不到以下帕斯卡三角形的确切输出。谁能帮我解决如何获得以下输出。

            1
          1   1
        1   2    1
     1    3    3    1
   1    4    6    4   1
1    5    10   10    5   1
4

4 回答 4

11

你可以试试

System.out.println(
        "        1\n" +
        "      1 2 1\n" +
        "    1 2 3 2 1\n" +
        "  1 2 3 4 3 2 1\n" +
        "1 2 3 4 5 4 3 2 1\n");
于 2012-06-06T16:46:39.327 回答
3

只是在这里的格式方面给你一点帮助。您应该能够处理数字部分。

for(int i = 0; i < numberOfRows; i++)
{
    System.out.print(2 * (numberOfRows - i) * " "); //2 is gonna be the number of spaces between each entry. You could change it to whatever you want to stretch/shrink the triangle
    System.out.print(""); //pascal-specific stuff goes here
}

顺便说一句——那不是帕斯卡三角。帕斯卡三角形不是那样的线性。帕斯卡三角形如下:

            1
          1   1
        1   2    1
     1    3    3    1
   1    4    6    4   1
1    5    10   10    5   1
于 2012-06-06T16:58:38.260 回答
1

想想你的第一个数字之前的空格数和你所在的“级别”之间的关系。一旦你明白这一点,它应该很容易编码。

如果您无法对其进行编码,请向我们展示您迄今为止所做的尝试。

于 2012-06-06T16:46:24.263 回答
0

其他答案已经给出了有关格式的提示,但您似乎不清楚帕斯卡的三角形是什么。一旦您从概念上理解了三角形实际上是什么,将其转换为代码应该相对简单。

于 2012-06-06T16:50:49.007 回答