假设我们有一个数字n。我们必须检查是否可以从该数字创建字母小写字符串,并检查该字符串是否为回文。在这里,我们将只接受从a到j的字符,[a = 0,b = 1 ... j = 9]。因此,如果数字为42,则将打印“ ec”子字符串直到6(4 + 2)个字符“ ececec”,然后检查是否为回文。
因此,如果输入像n = 43,则输出将为True,字符串为“ ededede”,这就是回文。
让我们看下面的实现以更好地理解-
def isPalindrome(s): return s == s[::-1] def solve(n): temp = "" s = str(n) letters = "abcdefghij" sum = 0 substr = "" for i in range(len(s)) : d = int(s[i]) substr += letters[d] sum += d while len(temp) <= sum: temp += substr temp = temp[:sum] return isPalindrome(temp) n = 43 print (solve(n))
43输出结果
True