package com.itheima;
/*
* 题目:打印出杨辉三角形(要求打印出10行如下图)
* 1
* 1 1
* 1 2 1
* 1 3 3 1
* 思路:定义一个二维数组int[][] arr=new int[][];
* 从第三行开始,出去第一个和最后一个数字,每一个数字arr[i]等于上一行arr[i]+arr[i-1]之和
* arr[0]={1};
* arr[1]={1,1};
* arr[2]={1,arr[1][0]+arr[1][1],1};
* arr[3]={1,arr[2][0]+arr[1],arr[2][1]+arr[2][1],1}
*/
public class Test33 {
public static void main(String[] args) {
int line=10;
for(int i=1;i<=line;i++){
for(int x=0;x<=array(i).length-1;x++){
System.out.print((array(i))[x]+"\t");
}
System.out.println("");
}
}
public static int[] array(int n){
int[] arr=new int[n];
if(n==1){
arr[0]=1;
}else if(n==2){
arr[0]=1;
arr[1]=1;
}else {
arr[0]=1;
for(int i=1;i<n-1;i++){
arr[i]=(array(n-1))[i]+(array(n-1))[i-1];
}
arr[n-1]=1;
}
return arr;
}
}
还有其他什么更方便的方法吗?求解 |
|