c题 找一个数小于给定的n,要求这个数可以立方,且是回文。这里有一种转换数字成为字符串的方法
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define i64 long long
#define vi vector<int>
#define sz(a) (int)a.size()
#define me(f,x) memset(f,x,sizeof(x))
#define L(i,j,k) for(int i=(j); i<=(k); ++i)
#define R(i,j,k) for(int i=(j); i>=(k); --i)
int read() { int x = 0, f = 1; char c = getchar(); while(c < '0' || c > '9') { if(c == '-') { f = -1; } c = getchar(); } while(c >= '0' && c <= '9') { x = x * 10 + c - '0'; c = getchar(); } return x * f; }
#define int long long
int maxn = 1;
signed main(){
// cin.tie(nullptr)->sync_with_stdio(false);
int n;
cin >> n;
for (int i = 1; i*i*i <= n; i++) {
int y = i*i*i;
string s = to_string(y);
string t = s;
reverse(t.begin(),t.end());
if(s==t) {
maxn = max(maxn,y);
}
}
cout << maxn << "\n";
return 0;
}