帕斯卡的三角形格式
赋值是在不使用数组的情况下创建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三角形