|
发表于 2018-12-4 15:30:38
|
显示全部楼层
本帖最后由 yuc_mi 于 2018-12-4 16:12 编辑
- #一个回文数指的是从左向右和从右向左读都一样的数字。
- #最大的由两个两位数乘积构成的回文数是 9009 = 91 * 99。
- #找出最大的有由个三位数乘积构成的回文数。
- def product(begin, end):
- list1 = []
- for x in range(begin, end):
- for y in range(begin, end):
- num = x * y
- flag = huiwen(num)
- if flag:
- #可以输出你所设置区间的所有回文数
- #print('%d = %d * %d 是回文数'% (num, x, y))
- list1.append({'result': num,'x':x,'y':y})
- larger = max(list1,key = lambda x: x['result'] )
- print(larger)
- print('%d = %d * %d 是区间{%d, %d}最大回文数' \
- % (larger['result'], larger['x'], larger['y'], begin, end))
-
- def huiwen(number):
- string = str(number)
- length = len(string)
- for i in range(length//2):
- if string[i] == string[length - i - 1]:
- continue
- else:
- return False
- return True
-
-
- print('please inout digital range')
- begin = int(input('begin:'))
- end = int(input('end:'))
- product(begin, end)
复制代码
result
please inout digital range
begin:100
end:1000
{'result': 906609, 'x': 913, 'y': 993}
906609 = 913 * 993 是区间{100, 1000}最大回文数 |
|