题目大意:
双重回文数问题,就是一个10进制数转换成2~16进制(或者更多进制)之中至少有两种进制的转换结果是回文数。
要求输入两个整数,第二个表示要转换的数字,第一个代表输出前N个比输入数字大的双重回文数
双重回文数问题,就是一个10进制数转换成2~16进制(或者更多进制)之中至少有两种进制的转换结果是回文数。
要求输入两个整数,第二个表示要转换的数字,第一个代表输出前N个比输入数字大的双重回文数
代码如下:
/*
ID: huangxi16
LANG: C++
TASK: dualpal
*/
#include <iostream>
#include <stdio.h>
using namespace std;
char bit[12]= {'0','1','2','3','4','5','6',
'7','8','9'
};
bool judge(int num)
{
int count=0;
for(int j=2; j<=10; j++)
{
int a=num;
char s[20];
int i=0;
while(0!=a)
{
s[i]=bit[a%j];
a/=j;
i++;
}
for(int k=0; k<i; k++)
{
if(s[k]!=s[i-k-1])
break