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
杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。
package algorithm;
public class YFTriangle {
public static void main(String[] args) {
yh(19);
}
/**
* 它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。
* @param in
*/
public static void yh(int in){
int[] a = new int[in + 1];
int previous = 1;
for (int i = 1; i <= in; i ++){
for (int j = 1; j <= i; j++){
int current = a[j];
a[j] = previous + current;
previous = current;
System.out.print(a[j] + " ");
}
System.out.println();
}
}
}
你好,这是杨辉三角问题:
public static void main(String[] args) {
int[][] arr=new int[10][];
for(int i=0;i<arr.length;i++) {
arr[i]=new int[i+1];
}
for(int i=0;i<arr.length;i++) {
for(int j=0;j<arr[i].length;j++) {
if(j==0 || i==j) {
arr[i][j]=1;
}else {
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
}
}
for(int i=0;i<arr.length;i++) {
for(int j=0;j<arr[i].length;j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
public static void main(String[] args) {
int n = 7;
int[][] a = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (j == 0 || j == i) a[i][j] = 1;
if (i > 0 && j > 0) {
a[i][j] = a[i-1][j-1] +a[i-1][j];
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
public class YHSJ_1 {
public static void main(String[] args) {
int rows = 10;
for (int i = 0; i < rows; i++) {
int number = 1;
// 打印空格字符串
System.out.format("%" + (rows - i) * 2 + "s", "");
for (int j = 0; j <= i; j++) {
System.out.format("%4d", number);
number = number * (i - j) / (j + 1);
}
System.out.println();
}
}
}