根据用户输入的数字,打印出菱形图案

  这原是同创蓝宇的一道js机试题,同事的同学想去同创蓝宇面试,让我帮忙看看他们面试题的难度等级,刚看到这道题时以为是考智力,给出一个数让在纸上画方块和三角,原谅我从业这么多年从来没做过什么面试题。。。

  demo演示地址:https://521lbx.github.io/simExample/diamondCV.html

  原题如下:

  输入整数(3-16),输出满足条件的图形:

    例如:输入3输出如下图形

    □□▲□□

    □▲□▲□

    ▲□□□▲

    □▲□▲□

    □□▲□□

    输入4输出如下图形:

    □□□▲□□□

    □□▲□▲□□

    □▲□□□▲□

    ▲□□□□□▲

    □▲□□□▲□

    □□▲□▲□□

    □□□▲□□□

    输入5输出如下图形

    □□□□▲□□□□

    □□□▲□▲□□□

    □□▲□□□▲□□

    □▲□□□□□▲□

    ▲□□□□□□□▲

    □▲□□□□□▲□

    □□▲□□□▲□□

    □□□▲□▲□□□

    □□□□▲□□□□

  知道是让写个页面实现功能,一切都变得那么简单了!

  首先,实心三角输出的是个菱形,那就对称;以输入4为例,先看前4行(前四行的倒序排列就是后四行);实心三角在每行所处的位置依次是(4),(3,5),(2,6),(1,7);行号依次是0,1,2,3;所以实心三角所处位置为:输入数值减行数或输入数值加行数;
总行数 = 每行的位数=(4-1)*2+1=(输入数值-1)*2+1;
ok,分析完毕,可以写代码了:

  



    
        
        
    
    
        
        
        

 

转载于:https://www.cnblogs.com/growupup/p/9875975.html

你可能感兴趣的:(根据用户输入的数字,打印出菱形图案)