#P2123. 程序阅读题.7
程序阅读题.7
- 阅读下面程序,根据输入数据,分析运行结果
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,ans=0;
cin>>a;
while(a){
a = a&(a-1);
ans ++;
}
cout<<ans;
return 0;
}
运行程序,输入 11 ,程序会输出:{{ input(1) }}
运行程序,输入 43 ,程序会输出:{{ input(2) }}
运行程序,输入 127 ,程序会输出:{{ input(3) }}
运行程序,输入 1234 ,程序会输出:{{ input(4) }}
- 阅读程序,完成判断题
(1) 第 16 行输出 ans 时,ans 的值一定大于 i。{{ select(5) }}
- 正确
- 错误
(2) 程序输出的 ans 小于等于 n 。{{ select(6) }}
- 正确
- 错误
(3)若将 12 行的 “<” 改成 “!=”,则程序的输出结果不会改变。{{ select(7) }}
- 正确
- 错误
(4)当程序执行到第 16 行的时候,若 ans-i>2 ,则 a[i+1] <= a[i]。{{ select(8) }}
- 正确
- 错误
(5)若输入的 a 数组是一个严格单调递增的数列,则此程序的时间复杂度是( ){{ select(9) }}
- O()
- O()
- O()
- O(n)
(6) 最坏情况下,此程序的时间复杂度是( )。{{ select(10) }}
- O()
- O()
- O(n)
- O()