小学生蓝桥杯Python闯关 | 三角回文数

学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。

附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客


【题目描述】

对于正整数n,如果存在正整数k使得n = 1 + 2 + 3 + … + k =k(k+1)/2,则n称为三角数。例如,66066是一个三角数,因为66066 = 1 + 2 +3 + … + 363。如果一个整数从左到右读出所有数位上的数字,与从右到左读出所有数位上的数字是一样的,则称这个数为回文数。例如,66066是一个回文数,8778也是一个回文数。如果一个整数n既是三角数又是回文数,则称它为三角回文数。例如66066是三角回文数。请问,第一个大于20220514的三角回文数是多少?

【代码详解】

for k in range(4000, 20000):
    n = k * (k + 1) // 2
    s = str(n)
    if (s[::-1] == s):  print(k, n); break  # 
复制代码

【运行结果】

8382 35133153

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/129851978