首页 > 试题广场 >

#includeusing&nb...

[单选题]
#include<bits/stdc++.h>
using namespace std;
int n = 300;
int solve(int x){
return x * (n - x);
}
int main(){
int l = 1, r = n;
int mid1, mid2;
int t = 50;
while(t--){
mid1 = l + r >> 1;
mid2 = mid1 + r >> 1;
if(solve(mid1) > solve(mid2)){
r = mid2;
}
else{
l = mid1;
}
}
cout<< l <<endl;
return 0;
}
程序的输出为(        )
  • 1
  • 100
  • 150
  • 300
该代码的目的其实就是使得l和r不断向n/2迭代,因此结果为150
编辑于 2019-09-18 20:16:25 回复(0)
求解
发表于 2019-09-18 15:53:38 回复(0)