A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© godrick007 中级黑马   /  2015-4-14 16:16  /  1668 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

杨辉三角,又称贾宪三角,帕斯卡三角形,是二项式系数在三角形中的一种集合排列。

程序分析及思路:


如图,杨徽三角在程序中被分成了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);
        }
}

晕,貌似只能上传一个图片,不能上效果图了。



评分

参与人数 2技术分 +1 黑马币 +10 收起 理由
Aelous_6 + 10 赞一个!
lwj123 + 1

查看全部评分

5 个回复

正序浏览
谢谢楼主分享
回复 使用道具 举报
学习了。谢谢。
回复 使用道具 举报
谢谢分享,学习了
回复 使用道具 举报
。。再补一个结果图
回复 使用道具 举报
我晕,不能上传图片啊?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马