见题:
我的代码:
#include <bits/stdc++.h>
using namespace std;
bool hw(long long int num)
{
string str = to_string(num);
string cubeStr = to_string(num);
reverse(cubeStr.begin(), cubeStr.end());
return cubeStr == str;
}
bool zs(long long int num)
{
long long int r=1,l=num,mid;
while(r<=l) {
mid=(r+l)/2;
if(mid*mid*mid==num) {
return true;
}
if(mid*mid*mid>num) {
l=mid-1;
} else {
r=mid+1;
}
}
return false;
}
int main()
{
long long int num;
cin >> num;
num++;
while(num--) {
if(zs(num)) {
if(hw(num)) {
cout<<num;
return 0;
}
}
}
return 0;
}
结果:超时(40分)