双基回文数

Posted 00isok

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双基回文数相关的知识,希望对你有一定的参考价值。

题目大意:

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

样例输入:

1600000

样例输出:

1632995

 

#include <stdio.h>   
//判断回文数函数
bool isPal(int num, int radix)
{
    int temp = num;
    int pal = 0;
    while(num!=0)
    {
        pal *= radix;
        pal += num%radix;    
        num /= radix;
    }
    return temp == pal;
}

int main()  
{  
    int n, count, flag;
    while(scanf("%d",&n)==1)
    {
        for(;;n++)
        {
            count = 0;
            flag = 0;
            for(int i=2;i<=10;i++)
            {
                if(isPal(n,i)) 
                    count++;
                if(count>=2)
                {
                    flag = 1;
                    break;
                }
            }
            if(flag)
            {
                printf("%d\n", n);
                break;
            }
        }
    }
    return 0;  
} 

 

2018-04-11

以上是关于双基回文数的主要内容,如果未能解决你的问题,请参考以下文章

计算大于正整数1600000的最小双基回文数

怎么用python写判断回文数

python编程,回文数判断?

代码题(16)— 回文

ZZNUOJ_C语言1107:回文数猜想(函数专题)(完整代码)

leetcode-9.回文数(图)