Mining a

題目鏈接:Mining a


先假設式子爲:1/x+1/y=1/n

所以:x=b,y=a^b

我們可以化簡得到:y=n*x/(x-n) , 令 z=x-n可得:y=n+n*n/z,所以枚舉z即可。

然後就可以解除所有的x,y取最大值即可。

AC代碼:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,res;
inline void solve(){
	res=0;	cin>>n;
	for(int i=1;i<=n;i++)	if(n*n%i==0){
		int y=n+n*n/i;
		res=max(res,y^(i+n));
	}
	cout<<res<<endl;
}
signed main(){
	int T;	cin>>T;	while(T--)	solve();	
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章