#P42. 阅读代码,输出结果

阅读代码,输出结果

题目描述

int cnt = 0;
void build(int rt, int l, int r)
{
    if(l > r) return;
    cnt ++;
    if(l == r) return;
    int mid = (l + r) >> 1;
    build(rt << 1, l, mid - 1);
    build(rt << 1 | 1, mid + 1, r);
}

代码如上所示,现在我们的操作为输入一个数字nn,然后输出cntcnt。主函数代码如下所示。

int n;
while(scanf("%d", &n) != EOF)
{
    cnt = 0;
    build(1, 1, n);
    printf("%d\n", cnt);
}

现在,请你补全代码。

输入格式

多组输入。输入组数小于等于$10^5$。

在一行内输入一个正整数$n(1≤n≤10^5)$。

输出格式

对于每组输入,在一行中输出一个整数,表示$cnt$的值。

样例

1
2
1
2

来源

2022 HGNU-SWUT暑假联合集训