Dada una string, comprueba si es Colindrome o no. Se dice que una string es colindrómica si tiene 3 alfabetos consecutivos seguidos por el reverso de estos 3 alfabetos y así sucesivamente. Ejemplos:
Input : cappaccappac Output : String is colindrome Input : mollomaappaa Output : String is Colindrome
Enfoque: tome dos strings vacías s1 y s2, y comience a iterar sobre la string dada. Tome las primeras tres letras de la string y guárdelas en s1, los siguientes tres caracteres en s2 y luego haga coincidir s1 y s2. Si son iguales, vuelva a hacer lo mismo hasta que la longitud de la string dada de lo contrario devuelva falso.
C++
// CPP program to check if a // string is Colindrome or not #include<bits/stdc++.h> using namespace std; // Function to check if a string // is Colindrome or not bool colindrome(string s) { int i1 = 0; for (int i = 0; i < s.length(); i++) { int i2 = i1 + 3; // Taking two empty Strings string s1 = ""; string s2 = ""; int c1 = 0, c2 = 0; // Iterate upto 3 letters for (i1 = i1; i1 < s.length(); i1++) { c1++; // concat each word with taken String s1 = s1 + s[i1]; if (c1 == 3) { break; } } // Iterate upto 3 letters for (i2 = i2; i2 < s.length(); i2++) { c2++; // concat each word with taken String s2 = s2 + s[i2]; if (c2 == 3) { break; } } // Reverse the second String string s3 = ""; for (int k = s2.length() - 1; k >= 0; k--) { s3 = s3 + s2[k]; } // Checks equality of two strings if (s1 != s3) { // If the two Strings are not same // then return false return false; } // Increment first variable by 6 and // second variable by 3 i1 = i1 + 6; i2 = i2 + 3; } return true; } // Driver Code int main() { // Input string string s = "cbbbbc"; if(colindrome(s)) cout<<"String is colindrome\n"; else cout<<"Not colindrome"; return 0; }
Java
// Java code to check if a given string is Colindrome. public class Colindrome { // Function to check Colindrome static boolean colindrome(String s) { int i1 = 0; for (int i = 0; i < s.length(); i++) { int i2 = i1 + 3; // Taking two empty Strings String s1 = ""; String s2 = ""; int c1 = 0, c2 = 0; // Iterate upto 3 letters for (i1 = i1; i1 < s.length(); i1++) { c1++; // concat each word with taken String s1 = s1 + s.charAt(i1); if (c1 == 3) { break; } } // Iterate upto 3 letters for (i2 = i2; i2 < s.length(); i2++) { c2++; // concat each word with taken String s2 = s2 + s.charAt(i2); if (c2 == 3) { break; } } // Reverse the second String String s3 = ""; for (int k = s2.length() - 1; k >= 0; k--) { s3 = s3 + s2.charAt(k); } // Checks equality of two strings if (s1.equals(s3) != true) { // If the two Strings are not same then return false return false; } // Increment first variable by 6 and second variable by 3 i1 = i1 + 6; i2 = i2 + 3; } return true; } // Driver code public static void main(String[] args) { String s = "cbbbbc"; boolean b = colindrome(s); if (b) { System.out.println("String is colindrome"); } else { System.out.println("Not Colindrome"); } } }
Python3
# python program to check if a # string is Colindrome or not # Function to check if a string # is Colindrome or not def colindrome(s): i1 = 0 for i in range (0, len(s)): i2 = i1 + 3 # Taking two empty Strings s1 = "" s2 = "" c1 = 0; c2 = 0; # Iterate upto 3 letters while(i1 < len(s)): c1 += 1 # concat each word with taken String s1 = s1 + s[i1] if (c1 == 3) : break i1 += 1 # Iterate upto 3 letters while(i2 < len(s)): c2 += 1 # concat each word with taken String s2 = s2 + s[i2] if (c2 == 3) : break i2 += 1 # Reverse the second String s3 = "" for k in range(len(s2)-1, -1, -1) : s3 = s3 + s2[k] # Checks equality of two strings if (s1 != s3) : # If the two Strings are not same # then return false return False # Increment first variable by 6 and # second variable by 3 i1 = i1 + 6 i2 = i2 + 3 return True # Driver Code if __name__ == '__main__' : # Input string s = "cbbbbc"; if(colindrome(s)) : print("String is colindrome") else : print("Not colindrome") # contributed by Abhishek Sharma DTU.
C#
// C# code to check if a given string is Colindrome. using System; public class Colindrome { // Function to check Colindrome static bool colindrome(String s) { int i1 = 0; for (int i = 0; i < s.Length; i++) { int i2 = i1 + 3; // Taking two empty Strings String s1 = ""; String s2 = ""; int c1 = 0, c2 = 0; // Iterate upto 3 letters for (i1 = i1; i1 < s.Length; i1++) { c1++; // concat each word with taken String s1 = s1 + s[i1]; if (c1 == 3) { break; } } // Iterate upto 3 letters for (i2 = i2; i2 < s.Length; i2++) { c2++; // concat each word with taken String s2 = s2 + s[i2]; if (c2 == 3) { break; } } // Reverse the second String String s3 = ""; for (int k = s2.Length - 1; k >= 0; k--) { s3 = s3 + s2[k]; } // Checks equality of two strings if (s1.Equals(s3) != true) { // If the two Strings are not // same then return false return false; } // Increment first variable by 6 and // second variable by 3 i1 = i1 + 6; i2 = i2 + 3; } return true; } // Driver code public static void Main(String[] args) { String s = "cbbbbc"; bool b = colindrome(s); if (b) { Console.WriteLine("String is colindrome"); } else { Console.WriteLine("Not Colindrome"); } } } // This code is contributed by PrinciRaj1992
Producción:
String is colindrome
Publicación traducida automáticamente
Artículo escrito por Bishal Kumar Dubey y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA