B:
很容易發現只有因數個數為偶數的燈泡是亮的。所以只有完全平方數的因數是奇數個。
實現上可以二分。
但是sqrt是double的必須開sqrtl才是long double的,才能滿足這題long long的資料範圍。人給我卡傻了。哈哈。
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
void solve(){
int n,k;cin>>k;
int l=1,r=1e19,mid=(l+r)/2;
while(l<r){
if(mid-floor(sqrtl(mid))<k)l=mid+1;
else r=mid;
mid=(l+r)/2;
//if(mid<10)cout<<mid<<' '<<mid-floor(sqrt(mid))<<endl;
}
cout<<mid<<endl;
}
signed main(){
int t=1;cin>>t;while(t--){
solve();
}
}