En este ejercicio, diremos que un natural n es redondo en base b, si la suma de sus dígitos en base b coincide con el número de dígitos en esta base.
Por ejemple, el número 34 no es redondo en base 10 (3 + 4 ≠ 2), pero sí que lo es en base 3, porque
1· 33 + 0· 32 + 2 · 31 + 1 · 30 = 34 y 1 + 0 + 2 + 1 = 4. |
Como otro ejemplo, 511 no es redondo en base 16 ya que
1 · 162 + 15 · 161 + 15 · 160 = 511 y 1 + 15 + 15 = 31 ≠ 3, |
pero sí que lo es en base 2 (tiene 9 unos, que suman 9). Todavía otro ejemplo más: 370273 no es redondo en base 2, ni en base 3, …, pero sí que lo es en base 608, porque
1 · 6082 + 1 · 6081 + 1 · 6080 = 370273 y 1 + 1 + 1 = 3. |
Una secuencia de pares de naturales (n,b), dónde n es un natural y b≥ 2, es bi-redonda si contiene al menos dos pares (n,b) con la propiedad que n es redondo en base b.
Escribid un programa que, dada una secuencia de pares de naturales, indique si es o no bi-redonda.
Vuestro programa tiene que incluir, usar e implementar, la función
que indica si un natural n es redondo en base b o no.
Entrada
La entrada es una secuencia no vacía de pares de naturales (x,b) con b≥ 2.
Salida Hay que escribir si la secuencia de entrada es o no bi-redonda.
Seguid el formato especificado en los ejemplos. Vuestro código debe seguir las normas de estilo y contener los comentarios que consideréis oportunos.
Input
34 10 34 3 511 16 511 2 370273 2 370273 608
Output
SI
Input
34 10
Output
NO
Input
34 3
Output
NO
Input
34 10 511 6 300 10 320 10 34 3
Output
SI