如果一个正整数n至少在两个不同的进位制b1和b2下都是回文数(2<=b1,b2<=10< span="">),则称n是双基回文数(注意,回文数不能包含前导零)。输入十进制的正整数S<106,输出比S大的最小双基回文数(十进制)
1600000
1632995
http://nnsznoi.openjudge.cn/directlycalculatin/0004/
第一想法尝试用itoa,但是g++不支持。
因此需要自己实现itoa,参考http://stackoverflow.com/questions/228005/alternative-to-itoa-for-converting-integer-to-string-c
string itoa(int a) { string ss=""; //create empty string while(a) { int x=a%10; a/=10; char i='0'; i=i+x; ss=i+ss; //append new character at the front of the string! } return ss; }
但发现运行的很慢,因此需要避免char相加,改进如下:
string myitoa(int a, int base) { string ss; ss.clear(); while(a) { ss += (a%base); a /= base; } return ss; }
AC code:
#define RUN #ifdef RUN /** http://nnsznoi.openjudge.cn/directlycalculatin/0004/ */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> #include <string> #include <iostream> #include <sstream> #include <map> #include <set> #include <vector> #include <list> #include <cctype> #include <algorithm> #include <utility> #include <math.h> using namespace std; #define LL long long #define MAXN 1000001 char tmp[MAXN]; string myitoa(int a, int base) { string ss; ss.clear(); while(a) { ss += (a%base); a /= base; } return ss; } bool isPalindrome(string s){ int len = s.length(); for(int i=0; i<len/2; i++){ if(s[i] != s[len-1-i]){ return false; } } return true; } void check(LL n){ LL test = n+1; for(;;){ int cnt = 0; for(int i=2; i<=10; i++){ //itoa(test, tmp, i); string s = myitoa(test, i); if(isPalindrome(s)){ //cout << test << "--" << s << "---" << cnt << endl; cnt++; if(cnt >= 2){ cout << test << endl; return; } } } ++test; } } int main(){ #ifndef ONLINE_JUDGE freopen("oj0004.in", "r", stdin); freopen("oj0004.out", "w", stdout); #endif LL n; while(scanf("%lld",&n) != EOF){ check(n); } } #endif
相关推荐
青岛大学开源 Online Judge | QQ群 496710125 。。。。。
Baekjoon Online Judge(BOJ)是一个广受欢迎的在线编程竞赛平台,它提供了大量的算法题目,供参赛者使用各种编程语言解决。在这个平台上,Python作为一种简洁且功能强大的语言,被广泛用于编写算法解决方案。本文将...
标题中的"acm.rar_ACM-Online-judge_online judge_scu online judge_scuonline"指的是一个与ACM(国际大学生程序设计竞赛)相关的在线评测系统,可能是由四川大学(SCU)开发或维护的在线判题平台源码。这个平台允许...
Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++、Pascal)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。欢迎下载,内含源...
UVa Online Judge 10944 Accepted Code
对于想要掌握这门技能的人来说,参加在线编程评测,如fzu online judge,是一个行之有效的途径。fzu online judge是一个面向编程爱好者和学习者的平台,提供了丰富的算法题目,供用户在线解答。这些题目虽然难度不一...
Hcode Online Judge(HOJ):基于SpringCloud与Vue前后端分离,分布式架构的在线测评平台.zip
"在线法官"(Online Judge,简称OJ)系统是一种用于编程竞赛、教育和自我测试的平台,它允许用户提交源代码来解决特定的算法问题,系统自动编译、运行并评估代码的正确性。在本案例中,我们讨论的是一个基于C++实现...
### 在线Online Judge (OJ) 平台概览及编程语言选择 #### 一、在线Online Judge (OJ) 平台介绍 **浙江大学OnlineJudge(ZOJ)** - **网址**: http://acm.zju.edu.cn - **特点**: ZOJ是国内最早的在线评测系统之一...
浙江大学Online Judge(ZOJ)是浙江大学主办的一个在线编程竞赛平台,它提供了丰富的算法题目供参赛者练习和提交代码。题目1048是这个平台上的一道编程题目,旨在锻炼和测试参赛者的编程能力和算法理解。从提供的...
百柱在线裁判(Baekjoon Online Judge,简称BOJ)是一个广受欢迎的在线编程竞赛平台,主要针对算法和编程技巧进行练习。该平台提供了大量的编程题目,涵盖各种难度级别,用户可以使用多种编程语言,如C++, Java, ...
【在线判题系统(Online Judge)】 在线判题系统(Online Judge,简称OJ)是一种用于编程竞赛和教育的在线平台,它允许用户提交代码来解决特定的问题,并立即获得运行结果和反馈。这类系统通常包括以下几个核心组成...
【基于Online Judge的C语言程序设计实验课教学改革研究】 C语言程序设计是计算机相关专业学生的基础课程,它为后续的计算机科学学习打下坚实基础。实验课在C语言教学中占据重要地位,通过实际编程操作,学生可以...
所谓同构数是这样的一些数,它出现在其平方数的右边,例如5是出现在$5^2=25$右边的数,25是出现在$25^2=625$右边的数,所以5和25都是同构数。 输入 输入数据有若干行。每行上有一个正整数,对应一种情形。 输出 对于...
详细信息请查看:http://sonew.512j.com/ 请更改 config.php, config.ini 中数据库设置的相关信息。 数据库的导入请看 sql 目录下的文件 sql.sql。 后台程序在 bin 目录下。 后台源程序文件在 src 目录下。...
Online Judge 服务器端使用 Python 语言和 Linux 环境,客户端使用命令行方式访问 Online Judge 服务器。 该资源提供了基于 Linux 的 Online Judge 在线提交环境的搭建和实现过程,包括环境的设计、搭建和实现过程...
ZOJ(Zui Online Judge)是一个开源的在线代码评测系统,它采用了现代Web技术栈,包括SpringBoot、SpringCloud和Vue.js,为开发者提供了一个高效、便捷的平台,用于进行编程竞赛、作业提交和自动测评。这个项目是...
北京大学Online Judge ZOJ : 浙江大学Online Judge HDUOJ : 杭州电子科技大学Online Judge . HUSTOJ : 华中科技大学Online Judge UESTCOJ : 电子科技大学Online Judge NBOJ : 宁波工程学院Online Judge FZUOJ : 福州...
Online Judge Problem Code
在线评测系统(Online Judge)在C语言教学中的应用已经成为提高学生编程能力的重要手段,尤其是随着慕课(MOOC)平台的兴起,这种教学模式为学生提供了更加灵活便捷的学习途径。下面将详细探讨基于Online Judge的...