利用位运算输出金字塔

header( 'Content-type:text/html;charset=UTF-8');

/**
 * @desc 利用位运算输出金字塔
 *
 */

echo <<<SCRIPT
        <style>
            td {
                padding: 10px;
                border: 1px solid #ccc;
            }
        </style>
SCRIPT;

// 循环的次数
$num = 5;
$tab = '<table>';

// 外层循环控制循环次数
for ($i = 0; $i < $num; $i++) {
    $tab .= '<tr>';

    // 输出空白
    for ($k = $i ; $k < $num -1; $k++) {
        $tab .= '<td style="border:none;"></td>';
    }

    /*
        输出金字塔
            1
           111
          11111
         1111111

        0 按位取反为 -1 两者之差为 1
        1 按位取反为 -2 两者之差为 3
        2 按位取反为 -3 两者之差为 5
        3 按位取反为 -4 两者之差为 7
    */
    for ($j = ~$i; $j < $i; $j++) {
        $tab .= '<td>'.$j . ':' . $i .'</td>';
    }
    $tab .= '</tr>';
}
$tab .= '<table>';
echo $tab;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容