求黑色球白色球各多少
问题描述
规则:白黑黑白黑黑黑黑白黑黑黑黑黑黑黑黑白...
黑色的数量:2(2^1)  4(2^2)  8(2^3)
- 问题1:前200个珠子中有多少个黑色的?
 - 问题2:程序实现计算n个珠子的黑色数目及白色数目?
 
function findWhileAndBlack($n) {
    $while = $black = $whileCount = $blackCount = 0;
    $isWhile = $isBlack = false;
    for ($a = 1; $a <= $n; $a++) {
        if ($a == 1) {
            $isWhile = true;
            $while = 1;
            $black = pow(2, $while);
        } else {
            if ($black > 0) {
                $isBlack = true;
                $isWhile = false;
                $black--;
            } else {
                $isWhile = true;
                $isBlack = false;
                $while ++;
                $black = pow(2, $while);
            }
        }
        if ($isWhile) {
            echo '白';
            $whileCount +=1;
        } elseif ($isBlack) {
            echo '黑';
            $blackCount +=1;
        }
    }
    printf("\n白色 = %d  黑色 = %d\n", $whileCount, $blackCount);
}