PHP 求值问题

假定 x =4;
输出 8 9 16 17 18 19 32 33 34 35 ... (数值在100以内)

x = 4;
a   b     c   d     e   f     g   h     i   j     ...
2x  2x+1  2a  2a+1  2b  2b+1  2c  2c+1  2d  2d+1  ...
8   9     16  17    18  19    32  33    34  35
阅读 1.8k
2 个回答
function f(n)
{
    var x =4;
    if(n==1){
        return 2*x;
    }
    if(n==2){
        return f(n-1)+1
    }
    if(n%2 == 0){
        return f(n-1)+1;
    }else{
        return 2*f((n-1)/2)
    }
}
function g($start = 0, $maxValue = 100)
{
    if ($start < 0)
        return false;

    $data = [$start];
    $i = 0;
    $index = 1;
    while ($data[$i] <= $maxValue) {
        $i++;
        if ($i % 2 == 0) {
            $data[$i] = $data[$i - 1] + 1;
        } else {

            if ($i == 1) {
                $data[$i] = $data[$index - 1] * 2;
            } else {
                $data[$i] = $data[$index] * 2;
                $index++;
            }
        }
        if ($data[$i] > $maxValue)
            break;

        echo $data[$i], '     ';
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题