/*9.杨辉三角形
在屏幕上显示杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
*问题分析与算法设计
杨辉三角形中的数,正是(x+y)的N次方幂展开式各项的系数。
本题作为程序设计中具有代表性的题目,求解的方法很多,这里仅给出一种。
从杨辉三角形的特点出发,可以总结出:
1)第N行有N+1个值(设起始行为第0行)
2)对于第N行的第J个值:(N>=2)
当J=1或J=N+1时:其值为1
J!=1且J!=N+1时:其值为第N-1行的第J-1个值与第N-1行第J个值之和
将这些特点提炼成数学公式可表示为:
当x=1或x=N+1时,c(x,y)=1
当x=其他时,c(x,y)=(x-1,y-1)+c(x-1,y)
*/
import java.io.*;
class Num9{
public static void main(String args[])throws Exception
{
BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入行数(<=13):");
int n=Integer.parseInt(buf.readLine());
if(n>13||n<1) {System.out.println("数值错误!");}
else
{
for(int i=0;i<n;i++)
{
for(int k=0;k<24-2*i;k++) {System.out.print("*");}
for(int j=1;j<=i+1;j++)
{
System.out.printf("%4d",c(i,j));
}
System.out.println();
}
}
}
public static int c(int x,int y)
{
int z;
if(y==1||y==1+x) return 1;
else z=c(x-1,y-1)+c(x-1,y);
return z;
}
} |