Un número ondulante es un número que tiene sólo dos tipos de dígitos y los dígitos alternos son iguales, es decir, es de la forma “ababab…”. A veces se restringe a números ondulantes no triviales que deben tener al menos 3 dígitos y a no es igual a b.
Los primeros números de este tipo son: 101, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 343 , 353, 363, 373, 383, 393, 404, 414, 424, 434, 454, 464, 474, 484, 494, …
Algunos números ondulantes más altos son: 6363, 80808, 1717171.
- Para cualquier n >= 3, hay 9 × 9 = 81 números ondulantes de n dígitos no triviales, ya que el primer dígito puede tener 9 valores (no puede ser 0), y el segundo dígito puede tener 9 valores cuando debe ser diferente al primero.
Dado un número, verifique si se trata de números ondulantes considerando la definición de dígitos alternos, al menos 3 dígitos y dígitos adyacentes que no sean iguales.
Ejemplos:
Input : n = 121 Output : Yes Input : n = 1991 Output : No
C++
// C++ program to check whether a number // is undulating or not #include <bits/stdc++.h> using namespace std; bool isUndulating(string n) { // Considering the definition // with restriction that there // should be at least 3 digits if (n.length() <= 2) return false; // Check if all alternate digits are // same or not. for (int i = 2; i < n.length(); i++) if (n[i - 2] != n[i]) false; return true; } int main() { string n = "1212121"; if (isUndulating(n)) cout << "Yes"; else cout << "No"; }
Java
// Java program to check whether a number // is undulating or not import java.util.*; class GFG { public static boolean isUndulating(String n) { // Considering the definition // with restriction that there // should be at least 3 digits if (n.length() <= 2) return false; // Check if all alternate digits are // same or not. for (int i = 2; i < n.length(); i++) if (n.charAt(i-2) != n.charAt(i)) return false; return true; } // Driver code public static void main (String[] args) { String n = "1212121"; if (isUndulating(n)==true) System.out.println("yes"); else System.out.println("no"); } } // This code is contributed by akash1295.
Python3
# Python3 program to check whether a # number is undulating or not def isUndulating(n): # Considering the definition # with restriction that there # should be at least 3 digits if (len(n) <= 2): return False # Check if all alternate digits # are same or not. for i in range(2, len(n)): if (n[i - 2] != n[i]): return False return True # Driver Code n = "1212121" if (isUndulating(n)): print("Yes") else: print("No") # This code is contributed by Smitha Dinesh Semwal.
C#
// C# program to check whether a number // is undulating or not using System; class GFG { public static bool isUndulating(string n) { // Considering the definition // with restriction that there // should be at least 3 digits if (n.Length <= 2) return false; // Check if all alternate digits are // same or not. for (int i = 2; i < n.Length; i++) if (n[i-2] != n[i]) return false; return true; } // Driver code public static void Main () { string n = "1212121"; if (isUndulating(n)==true) Console.WriteLine("yes"); else Console.WriteLine("no"); } } // This code is contributed by Vt_m.
PHP
<?php // PHP program to check whether a // number is undulating or not function isUndulating($n) { // Considering the definition // with restriction that there // should be at least 3 digits if (strlen($n) <= 2) return false; // Check if all alternate // digits are same or not. for ($i = 2; $i < strlen($n); $i++) if ($n[$i - 2] != $n[$i]) false; return true; } // Driver code $n = "1212121"; if (isUndulating($n)) echo("Yes"); else echo("No"); // This code is contributed by Ajit. ?>
Javascript
<script> // JavaScript program tto check whether a number // is undulating or not function isUndulating(n) { // Considering the definition // with restriction that there // should be at least 3 digits if (n.length <= 2) return false; // Check if all alternate digits are // same or not. for (let i = 2; i < n.length; i++) if (n[i-2] != n[i]) return false; return true; } // Driver Code let n = "1212121"; if (isUndulating(n)==true) document.write("Yes"); else document.write("No"); </script>
Yes
Complejidad del tiempo : O(N) donde N no es ningún dígito de un número dado
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por jaideeppyne1997 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA