阅读代码,输出结果
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
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);
}
代码如上所示,现在我们的操作为输入一个数字,然后输出。主函数代码如下所示。
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暑假联合集训
HGNU ACM Training Round #14
- 状态
- 已结束
- 规则
- ACM/ICPC
- 题目
- 11
- 开始于
- 2024-7-31 12:30
- 结束于
- 2024-7-31 17:30
- 持续时间
- 5 小时
- 主持人
- 参赛人数
- 14