水军大提督 发表于 2024-10-15 11:33:26

C语言 | Leetcode C语言题解之第479题最大回文数乘积

题目:
https://i-blog.csdnimg.cn/direct/435b10faad68414586ab7f5c825bf6e1.png
题解:
int largestPalindrome(int n){
    if (n == 1) {
      return 9;
    }
    int upper = pow(10, n) - 1;
    for (int left = upper;; --left) { // 枚举回文数的左半部分
      long p = left;
      for (int x = left; x > 0; x /= 10) {
            p = p * 10 + x % 10; // 翻转左半部分到其自身末尾,构造回文数 p
      }
      for (long x = upper; x * x >= p; --x) {
            if (p % x == 0) { // x 是 p 的因子
                return p % 1337;
            }
      }
    }
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: C语言 | Leetcode C语言题解之第479题最大回文数乘积