帕斯卡的三角形格式

赋值是在不使用数组的情况下创建Pascal的三角形。 我有生成下面三角形值的方法。 该方法接受用户想要打印的最大行数的整数。

public static void triangle(int maxRows) { int r, num; for (int i = 0; i <= maxRows; i++) { num = 1; r = i + 1; for (int col = 0; col  0) { num = num * (r - col) / col; } System.out.print(num + " "); } System.out.println(); } } 

我需要格式化三角形的值,使其看起来像一个三角形:

  1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 

我不能为我的生活弄清楚如何做到这一点。 请回答请记住,我是Java编程的初学者。

 public static long pascalTriangle(int r, int k) { if(r == 1 || k <= 1 || k >= r) return 1L; return pascalTriangle(r-1, k-1) + pascalTriangle(r-1, k); } 

此方法允许您查找第r行的第k个值。

这是一个好的开始,它的功课,我会把剩下的留给你:

 int maxRows = 6; int r, num; for (int i = 0; i <= maxRows; i++) { num = 1; r = i + 1; //pre-spacing for (int j = maxRows - i; j > 0; j--) { System.out.print(" "); } for (int col = 0; col <= i; col++) { if (col > 0) { num = num * (r - col) / col; } System.out.print(num + " "); } System.out.println(); } 

在每一行中,您需要打印:

  • n空格
  • m
  • n空格

你的工作是找出n (在最后一行中为零)和m基于row number

[这更像是评论,但我需要比评论提供更多的格式选项]

你需要打印空间(就像其他人提到的那样)而且因为这是我要留给你的作业但是你可能想看看这个方便的小function

 System.out.printf(); 

这是一个方便的参考指南

另请注意,您需要考虑一些数字超过1位数!

 import java.util.*; class Mine { public static void main(String ar[]) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for(int i=1;i=3) { for(int m=2;m 
 public class HelloWorld{ public static void main(String []args){ int s=7; int k=1; int r; for(int i=1;i<=s;i++){ int num=1; r=i; int col=0; for(int j=1;j<=2*s-1;j++){ if(j <= si) System.out.print(" "); else if(j >= s+i) System.out.print(" "); else{ if(k%2 ==0){ System.out.print(" "); } else{ if (col > 0) { num = num * (r - col) / col; } System.out.print(num+" "); col++; } k++; } } System.out.println(""); k=1; } } } 

您可以在java中尝试此代码。 这很简单 :)

 public class PascalTriangle { public static void main(String[] args) { int rows = 10; for(int i =0;i 
 public static void main(String[] args) { int a, num; for (int i = 0; i <= 4; i++) { num = 1; a = i + 1; for(int j=4;j>0;j--) { if(j>i) System.out.print(" "); } for (int j = 0; j <= i; j++) { if (j > 0) num = num * (a - j) / j; System.out.print(num + " "); } System.out.println(); } } 

代码完美打印pascal三角形