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

打印 上一主题 下一主题

主题 660|帖子 660|积分 1980

题目:

题解:
  1. int largestPalindrome(int n){
  2.     if (n == 1) {
  3.         return 9;
  4.     }
  5.     int upper = pow(10, n) - 1;
  6.     for (int left = upper;; --left) { // 枚举回文数的左半部分
  7.         long p = left;
  8.         for (int x = left; x > 0; x /= 10) {
  9.             p = p * 10 + x % 10; // 翻转左半部分到其自身末尾,构造回文数 p
  10.         }
  11.         for (long x = upper; x * x >= p; --x) {
  12.             if (p % x == 0) { // x 是 p 的因子
  13.                 return p % 1337;
  14.             }
  15.         }
  16.     }
  17. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表