Dado un número N , la tarea es comprobar si N es un número lineal o no. Si N es un número de línea recta , escriba «Sí» , de lo contrario, escriba «No» .
Un número de línea recta es un número mayor que 99 en el que los dígitos forman una progresión aritmética .
Ejemplos:
Entrada: N = 135
Salida: Sí
Explicación:
Los dígitos del número N son 1, 3 y 5.
1 3 5 es un AP con d = 2Entrada: N = 136
Salida: No
Enfoque: La idea es convertir el número N dado en una string y verificar si las diferencias entre los dígitos consecutivos son iguales o no. Si la diferencia entre todos los dígitos correspondientes es la misma, imprima «Sí» , de lo contrario, imprima «No» .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for the above approach #include <bits/stdc++.h> using namespace std; // Function to check if N is a // Straight Line number or not bool isStraighLineNum(int N) { // N must be > 99 if (N <= 99) return false; string str = to_string(N); // Difference between consecutive // digits must be same int d = str[1] - str[0]; for (int i = 2; i < str.length(); i++) if (str[i] - str[i - 1] != d) return false; return true; } // Driver Code int main() { // Given Number N int N = 135; // Function Call if (isStraighLineNum(n)) cout << "Yes"; else cout << "No"; }
Java
// Java program for the above approach class GFG{ // Function to check if N is a // Straight Line number or not static boolean isStraighLineNum(int N) { // N must be > 99 if (N <= 99) return false; String s = Integer.toString(N); // Difference between consecutive // digits must be same int d = s.charAt(1) - s.charAt(0); for(int i = 2; i < s.length(); i++) if (s.charAt(i) - s.charAt(i - 1) != d) return false; return true; } // Driver code public static void main(String[] args) { // Given Number N int n = 135; // Function Call if (isStraighLineNum(n)) { System.out.println("Yes"); } else { System.out.println("No"); } } } // This code is contributed by Pratima Pandey
Python3
# Python3 program for the above approach # Function to check if N is a # Straight Line number or not def isStraighLineNum(N): # N must be > 99 if (N <= 99): return False; str1 = str(N); # Difference between consecutive # digits must be same d = int(str1[1]) - int(str1[0]); for i in range(2, len(str1)): if (int(str1[i]) - int(str1[i - 1]) != d): return False; return True; # Driver Code # Given Number N N = 135; # Function Call if (isStraighLineNum(N)): print("Yes"); else: print("No"); # This code is contributed by Code_Mech
C#
// C# program for the above approach using System; class GFG{ // Function to check if N is a // Straight Line number or not static bool isStraighLineNum(int N) { // N must be > 99 if (N <= 99) return false; string s = N.ToString(); // Difference between consecutive // digits must be same int d = s[1] - s[0]; for(int i = 2; i < s.Length; i++) if (s[i] - s[i - 1] != d) return false; return true; } // Driver code public static void Main() { // Given Number N int n = 135; // Function Call if (isStraighLineNum(n)) { Console.Write("Yes"); } else { Console.Write("No"); } } } // This code is contributed by Code_Mech
Javascript
<script> // JavaScript program for the above approach // Function to check if N is a // Straight Line number or not function isStraighLineNum(N) { // N must be > 99 if (N <= 99) return false; let s = N.toString(); // Difference between consecutive // digits must be same let d = s[1] - s[0]; for(let i = 2; i < s.length; i++) if (s[i] - s[i - 1] != d) return false; return true; } // Driver Code // Given Number N let n = 135; // Function Call if (isStraighLineNum(n)) { document.write("Yes"); } else { document.write("No"); } // This code is contributed by susmitakundugoaldanga </script>
Yes
Complejidad de tiempo: O (log 10 N)