求教!!杨辉三角形
输入
多组n值,每行一个整数
输出
对应于每一个n值,输出一个倒杨辉三角形
每个杨辉三角形之间用一个空行隔开
每个杨辉三角形的最上面的第一行的第一个数字在第一列,后面的每个数字占据3个字符的宽度
从第二行开始,每一行的最前面加多一个空格,每一行的第一个数字1占据一个字符的宽度,后面的每个数字占据三个字符的宽度
样例输入
5
3
样例输出
1 4 6 4 1
1 3 3 1
1 2 1
1 1
1
1 2 1
1 1
1
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner rd=new Scanner(System.in);
int i,j;
int n=rd.nextInt();
int arr[][]=new int[n][];
for(i=0;i<n;i++)
{
arr[i]=new int[i+1];
}
for(i=0;i<arr.length;i++)
{
for(j=0;j<arr[i].length;j++)
{
if(i>j&&j!=0){
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
else
{
arr[i][j]=1;
}
}
}
for(i=arr.length-1;i>=0;i--)
{
for(int m=arr.length-i;m>0;m--)
{
if(m-1>0)
{
System.out.print(" ");
}
}
for(j=0;j<arr[i].length;j++)
{
if(j==arr[i].length-1)
{
System.out.print(arr[i][j]);
}else
{
System.out.print(arr[i][j]+" ");
}
}
System.out.println();
}
}
}
import java.util.Scanner;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Scanner rd = new Scanner(System.in);
while (rd.hasNext()) {
int n = rd.nextInt();
printTriangle(n);
}
}
private static void printTriangle(int n) {
int i, j;
int arr[][] = new int[n][];
for (i = 0; i < n; i++) {
arr[i] = new int[i + 1];
}
for (i = 0; i < arr.length; i++) {
for (j = 0; j < arr[i].length; j++) {
if (i > j && j != 0) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
} else {
arr[i][j] = 1;
}
}
}
for (i = arr.length - 1; i >= 0; i--) {
for (int m = arr.length - i; m > 0; m--) {
if (m - 1 > 0) {
System.out.print(" ");
}
}
for (j = 0; j < arr[i].length; j++) {
if (j == arr[i].length - 1) {
System.out.print(arr[i][j]);
} else {
System.out.print(arr[i][j] + " ");
}
}
System.out.println();
}
}
}
1 2 1
1 1
1
1 4 6 4 1
1 3 3 1
1 2 1
1 1
1