黑马程序员技术交流社区

标题: 输出 n=6 的三角数字阵的两种解法 [打印本页]

作者: yapo    时间: 2015-4-27 22:11
标题: 输出 n=6 的三角数字阵的两种解法
题目:打印 n=6 的三角数字阵
        1        
        2  3  
        4  5  6
        7  8  9  10
        11 12 13 14 15
        16 17 18 19 20 21
解法一:需要定义三个变量
class  Demo
{
        public static void main(String[] args)
        {
                int z=0;
                for(int x=1;x<=6;x++) //外循环控制打印的行数
                {
                        for (int y=1;y<=x;y++ )   //内循环控制打印的每行的个数
                        {
                                z++;
                                System.out.print(z+"\t");
                        }
                        System.out.println();
                }
        }
}
解法二:        不需第三方变量
class  Demo
{
        public static void main(String[] args)
        {
                for(int x=1;x<=6;x++)
                {
                        for (int y=(x*x-x+2)/2;y<=((x*x+x)/2);y++ )    //通过数学规律可计算出:(x*x-x+2)/2为第x行的最小值,(x*x+x)/2为第x行的最大值
                        {
                                System.out.print(y+"\t");
                        }
                        System.out.println();
                }
               
        }
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2