2 条题解
-
2
int l, r; cin >> l >> r; vector<int> ai(79), bi(79); for(int i = 0;i <= 63; i++) { ai[i] = l & 1 << i; bi[i] = r & 1 << i; //1 << i是2的i次方 此时ai为l的二进制 ,bi是r的二进制 } int ans = 0; for(int i = 63;i >= 0; i--) { if(ai[i] != bi[i]) break; //从高位往低位找不相同的位置终止,加上前面的值 ans += ai[i]; } cout << ans << "\n";
信息
- ID
- 1211
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 71
- 已通过
- 12
- 上传者