双基回文数
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
以上是关于双基回文数的主要内容,如果未能解决你的问题,请参考以下文章