実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 220
問題概要
以下の正整数であって回文立方数(立方数かつその文字列が回文となる数)であるものの最大値を求めよ。
制約
- は 以下の正整数
考察
以下の立方数は高々 個しかないから、全て列挙してその中で回文となる最大の数を探していけばよい。
コード
#include <bits/stdc++.h> using namespace std; // ======================================== // bool isPalindrome(string s) { int l = s.size(); for (int i = 0; i < l / 2; i++) { if (s[i] != s[l - i - 1]) return false; } return true; } int main() { ll N; cin >> N; ll ans = 0; for (ll i = 1; i * i * i <= N; i++) { if (isPalindrome(to_string(i * i * i))) ans = i * i * i; } cout << ans << endl; }
実装時間: 5分