【よくわかる解説!】ABC343 C問題 〜回文の判定 && 立法数〜

ABC

解説動画はこちら!

コード

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i, n) for (int i = 0; i < (n); ++i)

// 回文の判定
bool f (ll x) {
    string s = to_string(x);
    string t = s;
    reverse(t.begin(), t.end());

    return s == t;
}

int main() {
    // intではなくてlong long型
    ll n;
    cin >> n;
    ll ans = 1;

    for (ll i = 2; i * i * i <= n; i++) {
        ll x = i * i * i;
        if (f(x)) ans = x;
    }

    cout << ans << endl;
    return 0;
}

コメント