AC了,但不是很懂
查看原帖
AC了,但不是很懂
1124323
A_small_WA楼主2024/8/5 17:08

75pts代码,WA on#1,5:

#include <bits/stdc++.h>
using namespace std;
int main(){
	long long m,n;
	cin>>n>>m;
	long long l=0,r=n;
	while(l<r-1){
		long long mid=(r+l)/2;
		if(pow(mid,m)<=n) l=mid;
		else r=mid;
	} 
	cout<<r-1;
	return 0;
}

100pts代码:

#include <bits/stdc++.h>
using namespace std;
int main(){
	long long m,n;
	cin>>n>>m;
	long long l=0,r=n;
	while(l<=r){
		long long mid=(r+l)/2;
		if(pow(mid,m)<=n) l=mid+1;
		else r=mid-1;
	} 
	cout<<r;
	return 0;
}

同样是二分,为什么对于 mid 的处理不一样就出错呢?

求大佬解答。

2024/8/5 17:08
加载中...