Un número de Belphegor es un número palindrómico tal que el número tiene la forma
1(0...)666(0...)1
El N-ésimo número de Belphegor viene dado por:
Comprobar si N es un número de Belphegor
Dado un número N , la tarea es verificar si N es un número de Belphegor o no. Si N es un número de Belphegor , escriba «Sí» , de lo contrario, escriba «No» .
Ejemplos:
Entrada: N = 16661
Salida: Sí
Explicación:
Este número es palíndromo y tiene la forma 1(0…)666(0…)1.Entrada: N = 1661
Salida: No
Enfoque: la idea es verificar si el número es palíndromo o no, si es palíndromo, entonces la verificación del número debe ser de la forma 1 (0…) 666 (0…) 1 , si el número está en esta forma, imprima «Sí». ” , de lo contrario escriba “No” .
A continuación se muestra la implementación del enfoque anterior:
Python3
# Python3 implementation # of the above approach # Function to check if the number # N is in the form # 1(0...)666(0...)1 def isinform(n): temp = str(n) Len = len(temp) # basic case if "666" not in temp or\ Len<5 or Len % 2 == 0: return False mid = Len//2 if not (temp[mid-1] == temp[mid]\ and temp[mid-1] == '6' and\ temp[0] == '1'): return False for i in range(mid + 2, Len-1): if temp[i] != '0': return False return True # Function to check if the number # N is palindrome def ispalindrome(n): temp = str(n) if temp == temp[::-1]: return True return False # Function to check if a number # N is Belphegor def isBelphegor(n): if ispalindrome(n): if isinform(n): return True return False # Driver Code n = 100666001; if isBelphegor(n): print("Yes") else: print("No")
Yes
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA