实验吧编程题:双基回文数

原题:

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

格式:CTF{ }

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

python实现:

 1 #-*-coding:utf-8-*-
 2 #博客园 hell0_w
 3 
 4 def jz_zh(n,base):    #进制转换
 5     list = []
 6     while(n):
 7         i = n % base
 8         n = n / base
 9         list.append(str(i))
10     return ''.join(list[::-1])
11 
12 def is_huiwen(n):    #判断是否是双基回文数
13     count = 0
14     for i in range(2,11):
15         a = jz_zh(n,i)
16         if a == a[::-1]:
17             count = count + 1
18     if count >= 2:
19         print n
20 
21 for n in range(1600000,1700000):
22     is_huiwen(n)

 

。。。

posted @ 2017-10-05 15:13  hell0_w  阅读(474)  评论(0编辑  收藏  举报