`
hellobin
  • 浏览: 66267 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Online Judge 0004:双基回文数

 
阅读更多

 

Time Limit:
10000ms
Memory Limit:
65536kB
Description

如果一个正整数n至少在两个不同的进位制b1b2下都是回文数(2<=b1,b2<=10< span="">),则称n是双基回文数(注意,回文数不能包含前导零)。输入十进制的正整数S<106,输出比S大的最小双基回文数(十进制)

Input
一个十进制整数
Output
一个十进制整数
Sample Input
1600000
Sample Output
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

    青岛大学开源 Online Judge | QQ群 496710125 。。。。。

    Baekjoon-Online-Judge:用python解决算法问题

    Baekjoon Online Judge(BOJ)是一个广受欢迎的在线编程竞赛平台,它提供了大量的算法题目,供参赛者使用各种编程语言解决。在这个平台上,Python作为一种简洁且功能强大的语言,被广泛用于编写算法解决方案。本文将...

    acm.rar_ACM-Online-judge_online judge_scu online judge_scuonline

    标题中的"acm.rar_ACM-Online-judge_online judge_scu online judge_scuonline"指的是一个与ACM(国际大学生程序设计竞赛)相关的在线评测系统,可能是由四川大学(SCU)开发或维护的在线判题平台源码。这个平台允许...

    Online Judge(在线判题系统)+源代码

    Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++、Pascal)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。欢迎下载,内含源...

    UVa Online Judge 10944 Accepted Code

    UVa Online Judge 10944 Accepted Code

    fzu online judge

    对于想要掌握这门技能的人来说,参加在线编程评测,如fzu online judge,是一个行之有效的途径。fzu online judge是一个面向编程爱好者和学习者的平台,提供了丰富的算法题目,供用户在线解答。这些题目虽然难度不一...

    Hcode Online Judge(HOJ):基于SpringCloud与Vue前后端分离,分布式架构的在线测评平台.zip

    Hcode Online Judge(HOJ):基于SpringCloud与Vue前后端分离,分布式架构的在线测评平台.zip

    online judge系统

    "在线法官"(Online Judge,简称OJ)系统是一种用于编程竞赛、教育和自我测试的平台,它允许用户提交源代码来解决特定的算法问题,系统自动编译、运行并评估代码的正确性。在本案例中,我们讨论的是一个基于C++实现...

    在线online judge

    ### 在线Online Judge (OJ) 平台概览及编程语言选择 #### 一、在线Online Judge (OJ) 平台介绍 **浙江大学OnlineJudge(ZOJ)** - **网址**: http://acm.zju.edu.cn - **特点**: ZOJ是国内最早的在线评测系统之一...

    浙江大学Online Judge 1048题源码

    浙江大学Online Judge(ZOJ)是浙江大学主办的一个在线编程竞赛平台,它提供了丰富的算法题目供参赛者练习和提交代码。题目1048是这个平台上的一道编程题目,旨在锻炼和测试参赛者的编程能力和算法理解。从提供的...

    Baekjoon-Online-Judge:https://www.acmicpc.net

    百柱在线裁判(Baekjoon Online Judge,简称BOJ)是一个广受欢迎的在线编程竞赛平台,主要针对算法和编程技巧进行练习。该平台提供了大量的编程题目,涵盖各种难度级别,用户可以使用多种编程语言,如C++, Java, ...

    Online Judge

    【在线判题系统(Online Judge)】 在线判题系统(Online Judge,简称OJ)是一种用于编程竞赛和教育的在线平台,它允许用户提交代码来解决特定的问题,并立即获得运行结果和反馈。这类系统通常包括以下几个核心组成...

    基于Online Judge的C语言程序设计实验课教学改革研究.pdf

    【基于Online Judge的C语言程序设计实验课教学改革研究】 C语言程序设计是计算机相关专业学生的基础课程,它为后续的计算机科学学习打下坚实基础。实验课在C语言教学中占据重要地位,通过实际编程操作,学生可以...

    C++程序设计练习(2) Online Judge

    所谓同构数是这样的一些数,它出现在其平方数的右边,例如5是出现在$5^2=25$右边的数,25是出现在$25^2=625$右边的数,所以5和25都是同构数。 输入 输入数据有若干行。每行上有一个正整数,对应一种情形。 输出 对于...

    online judge system.rar

    详细信息请查看:http://sonew.512j.com/ 请更改 config.php, config.ini 中数据库设置的相关信息。 数据库的导入请看 sql 目录下的文件 sql.sql。 后台程序在 bin 目录下。 后台源程序文件在 src 目录下。...

    基于Linux的OnlineJudge在线提交环境的搭建.pdf

    Online Judge 服务器端使用 Python 语言和 Linux 环境,客户端使用命令行方式访问 Online Judge 服务器。 该资源提供了基于 Linux 的 Online Judge 在线提交环境的搭建和实现过程,包括环境的设计、搭建和实现过程...

    Zui Online Judge(ZOJ) 基于SpringBoot和SpringCloud和Vue的开源在线代码评.zip

    ZOJ(Zui Online Judge)是一个开源的在线代码评测系统,它采用了现代Web技术栈,包括SpringBoot、SpringCloud和Vue.js,为开发者提供了一个高效、便捷的平台,用于进行编程竞赛、作业提交和自动测评。这个项目是...

    leetcode中国-fuck_offer:fuck_offer

    北京大学Online Judge ZOJ : 浙江大学Online Judge HDUOJ : 杭州电子科技大学Online Judge . HUSTOJ : 华中科技大学Online Judge UESTCOJ : 电子科技大学Online Judge NBOJ : 宁波工程学院Online Judge FZUOJ : 福州...

    Online Judge2

    Online Judge Problem Code

    基于Online Judge的C语言教学.pdf

    在线评测系统(Online Judge)在C语言教学中的应用已经成为提高学生编程能力的重要手段,尤其是随着慕课(MOOC)平台的兴起,这种教学模式为学生提供了更加灵活便捷的学习途径。下面将详细探讨基于Online Judge的...

Global site tag (gtag.js) - Google Analytics