蓝桥杯备战 Day3 2022.3.1

特殊回文数

问题描述

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

数据规模和约定

  1<=n<=54。

这道题昨天没做出来,今天想了一会解决了。总体思路就是枚举10000到1000000之间的所有回文数,然后判断加起来是否等于n。这里注意左边不能设置成9999,不然n=36时,9999加起来也是36,但是是4位数,不符合题意。

python判断回文非常简单,把字符串倒过来,然后与原来字符串比较,相等的话就是回文数。

解法如下:

n = input()
temp = 0
for num in range(10000,1000000):
    str1 = str(num)
    str2 = str1[::-1]
    listn = list(str1)
    temp = 0

    if str1 == str2:
        for i in listn:
            temp = temp + int(i)

        if temp == int(n):   
            print(num)

回文数

1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

这题更简单,注意一下python中range(1,10)是不包括10的。

# 1221是一个非常特

你可能感兴趣的:(蓝桥杯,职场和发展)