杨辉三角,又称贾宪三角,帕斯卡三角形,是二项式系数在三角形中的一种集合排列。
程序分析及思路:
如图,杨徽三角在程序中被分成了2部分:红色直角三角形又空格组成;绿色等腰三角形由杨徽三角数字排列组成。
程序的设计中,输出行数有用户控制,列数由函数控制。
又是一个经典的三角形问题,我们用嵌套循环,外循环控制行数,内循环控制空白三角形和杨徽三角形的打印。
程序设计中最重要的思想是:每次要打印的下一个数等于前一个数乘以其所在行数和列数的差在处以其列(不是我发现的,是查资料的时候找到的)
代码如下:
class YanghuiTriangle
{
public static void main(String[] args)
{
printYanghui();
}
public static void printYanghui(int num)
{
int x=1;
for (int i = 1 ;i <= num ;i++ ) // 外循环控制行数,行数为外部给进的int num
{
for (int j = 0 ; j < num-i; j++ ) // 内循环第一个for负责打印空白的三角
{
System.out.print(" ");
}
System.out.print(1+" ");
for (int k = 1; k < i ; k++ ) //内循环第二个for负责打印杨徽三角
{
x = x*(i-k)/k; //每次要打印的下一个数等于前一个数乘以其所在行数和列数的差在处以其列(设计的思路)!!!
System.out.print(x+" ");
}
System.out.println();
}
}
public static void printYanghui() //重载
{
printYanghui(5);
}
}
晕,貌似只能上传一个图片,不能上效果图了。
|