原题传送门

这道题需要枚举。如果直接枚举会$TLE$。

考虑进制的转换:对于$> x$的进制下,一定是回文数

回文长度$2$位:设每一位为$i$,进制为$x$,则该数为$i*x+i$。反之,如果$n=i*(x+1)$,则$x$进制下$n$为回文。但要满足$i<x$,所以$x>\sqrt{n}$时适用。

当$x \leq \sqrt{n}$时暴力判断,这样复杂度降为$O(T \sqrt{n})$。

 #include <bits/stdc++.h>

 using namespace std;

 #define re register
#define rep(i, a, b) for (re int i = a; i <= b; ++i)
#define repd(i, a, b) for (re int i = a; i >= b; --i)
#define maxx(a, b) a = max(a, b);
#define minn(a, b) a = min(a, b);
#define LL long long
#define INF (1 << 30) inline LL read() {
LL w = ; int f = ; char c = getchar();
while (!isdigit(c)) f = c == '-' ? - : f, c = getchar();
while (isdigit(c)) w = (w << ) + (w << ) + (c ^ ''), c = getchar();
return w * f;
} int T, l[];
LL n; int main() {
T = read(); rep(kase, , T) {
n = read();
if (n == ) printf("%d\n", );
else if (n <= ) printf("%d\n", );
else {
register LL ans = INF;
for (register int i = sqrt(n-); i; i--)
if (!(n - n / i * i)) {
ans = n / i - ;
break;
}
register int range = sqrt(n), len;
register bool flag;
register LL x;
for (register int i = ; i <= range; ++i) {
x = n;
len = ;
while (x) {
l[++len] = x - x / i * i;
x /= i;
}
flag = ;
for (register int j = ; j <= len / ; j++)
if (l[j] != l[len - j + ]) {
flag = ;
break;
}
if (flag) { ans = i; break; }
}
printf("%lld\n", ans);
}
} return ;
}

另外这道题比较卡常,需要一定的优化。

最新文章

  1. Android Studio插件美化Android Studio,文艺清新范
  2. 编辑距离——Edit Distance
  3. Liferay7 BPM门户开发之47: 集成Activiti待办已办任务清单和流程启动
  4. window通过mstsc远程连接其它计算机
  5. linux根分区扩容
  6. 第二篇 SQL Server安全验证
  7. Angularjs路由.让人激动的技术.真给前端长脸了.
  8. 使用node.js编写脚本将JSON数据转换为SQL语句
  9. Git如何检出指定目录或文件
  10. Spring MVC 实践 - Component
  11. Java开发笔记(五十五)关键字static的用法
  12. IDEAL 热更新
  13. Python 爬虫六 性能相关
  14. Javascript - ExtJs - 数据
  15. javascript 函数的4种调用模式
  16. Unity 3D读取Excel表格、导入信息、导出Json
  17. Spring Boot 容器选择 Undertow 而不是 Tomcat
  18. Chrome 不能访问tensorboard解决
  19. JQuery 之 动态加载JS或JS文件
  20. github注册与使用

热门文章

  1. android studio连接雷电模拟器 【AS 模拟器】
  2. [Advanced Python] 15 - &quot;Metaclass&quot;: ORM
  3. 一篇文章了解Redis数据库
  4. 【Java】SpringBoot 中从application.yml中获取自定义常量
  5. [python]汉诺塔问题
  6. aapt的具体使用
  7. GitHub项目徽标
  8. IDEA 学习笔记之 Python项目开发
  9. Vim 使用 DrawIt 画图
  10. JVM(四)类加载机制