不是说二分能过吗?
查看原帖
不是说二分能过吗?
355093
离·清梦楼主2022/6/12 22:50
#include<bits/stdc++.h>
using namespace std;
long long n;
int main(){
    cin>>n;
    long long l = 1;
    long long r = n;
	while(l <= r){
		long long mid = (l + r)/2;
		if(mid * mid * mid == n){
			cout<<mid<<endl;
			return 0;
		}
		else if(mid * mid * mid < n){
			if((mid + 1) * (mid + 1) * (mid + 1) > n){
				cout<<mid<<endl;
				return 0;
			} 
			else{
				l = mid + 1; 
			} 
		} 
		else{
			r = mid - 1;
		}
	}
}

我太菜了

2022/6/12 22:50
加载中...