Maison >développement back-end >Tutoriel C#.Net >Palindrome en C#
Chaque collège ou université a tendance à donner un peu d'exercice à ses étudiants. Pour s'amuser, des programmes comme le palindrome sont proposés aux élèves. Chaque langage de programmation a sa propre façon d'écrire un programme pour palindrome. De nombreuses personnes ne connaissent peut-être pas ce concept. Ne t'en fais pas. Dans le prochain article sur le palindrome en c#, vous comprendrez ce qu'est exactement le palindrome et comment nous pouvons l'implémenter par programme.
Parlons de ce que signifie exactement le palindrome. N'importe quel nombre qui est le même même si nous l'inversons.
Ex : 1234321 => Ce numéro, même si vous essayez d'écrire dans l'ordre inverse, vous donne le même numéro.
D'autres exemples sont 565 757, 99899, 52125 etc.
Maintenant, regardons la méthode exacte pour le calculer.
Supposons que nous ayons un numéro 434.
Maintenant, inversons-le, et nous obtenons seulement 434.
Le plus drôle avec les palindromes, c'est que si on les ajoute, on obtiendra un nouveau numéro de palindrome.
Ex : 214 + 412 = 626 (626 n'est rien d'autre que le n° du palindrome)
Cela signifie simplement que si nous traversons un non en avant et en arrière, alors nous obtenons également le même non.
Il existe certaines façons de vérifier le palindrome dans différentes langues. Ici, nous allons vérifier avec C#.
La logique simple utilisée ici parcourt la série d'entrées en arrière et en avant, et le nombre donné ou une chaîne est le même que l'initiale de la sortie correspondante appelée palindrome.
Regardez attentivement le programme ci-dessous, qui prend les informations de l'utilisateur et vérifie s'il s'agit d'un palindrome ou non. C'est très simple à identifier une fois qu'on connaît le concept de palindrome.
Code :
using System; public class IsPalindrome { public static void Main(string[] args) { int no,total=0,t,rev; Console.Write("Please provide the no: "); no = int.Parse(Console.ReadLine()); t=no; while(no>0) { rev=no%10; total=(total*10)+rev; no=no/10; } if(t==total) Console.Write("The given number is Palindrome."); else Console.Write("The given number is not Palindrome"); } }
Sortie :
La sortie qui demande à l'utilisateur de saisir un numéro.
Maintenant, après avoir entré non, il montre que le non est un palindrome ou non.
Dans le programme ci-dessus, nous avons pris en compte les commentaires de l'utilisateur. Nous avons converti cette entrée en entier par la méthode d'analyse. À l'aide d'une boucle while, nous avons inversé le non et l'avons vérifié avec le numéro d'origine.
Si le non fourni par l'utilisateur et le non que nous inversons sont identiques, alors ce non est un palindrome. Ici, dans notre cas, nous avons pris 212. Et le résultat que nous avons obtenu comme nombre donné est un palindrome.
Jusqu'à présent, nous n'avons vérifié que les nombres qui sont un palindrome. Mais laissez-moi vous dire que nous pouvons également vérifier cela avec une chaîne. En raison d'une certaine combinaison de cordes, elle a aussi une nature semblable à un palindrome.
Prenons cette ficelle, Madame et inversez-la, et nous retrouverons la même ficelle.
Ce sera bien de voir par programmation.
Code :
using System; public class Palindrome { public static void Main(string[] args) { string inputStr, r; inputStr = "Madam"; char[] letter = inputStr.ToCharArray(); Array.Reverse(letter); r = new string(letter); bool bool1 = inputStr.Equals(r, StringComparison.OrdinalIgnoreCase); if (bool1 == true) { Console.WriteLine("This string " + inputStr + " is a Palindrome!"); } else { Console.WriteLine("This string " + inputStr + " is not a Palindrome!"); } Console.ReadLine(); } }
Sortie :
Maintenant, parlons du programme ci-dessus. Ce que nous avons réellement fait ici.
Nous avons pris ici une seule chaîne, qui n'est rien d'autre que le « Madame ». Ensuite, nous avons converti cette chaîne en un tableau de caractères. Nous avons utilisé la méthode ToCharArray() pour créer un tableau de caractères. Après avoir créé un tableau de caractères, nous avons utilisé la méthode reverse sur ce tableau pour l'inverser. Ensuite, nous avons comparé la chaîne donnée et la chaîne inversée à l'aide des méthodes Equals(). Nous avons stocké la sortie de cette méthode dans une variable appelée bool1, qui est de type booléen.
Maintenant, enfin, à l'aide de la condition if-else, nous avons vérifié que la variable bool1 est égale à true ou false. Dans notre programme, la condition if est exécutée. Le résultat est donc "La chaîne Madame est un palindrome."
Il n'y a aucune limitation pour trouver les mots ou les chiffres.
Vous pouvez en faire des puzzles. Il existe de nombreuses conditions, comme si vous avez un paragraphe entier et que quelqu'un vous demande de vérifier s'il y a une chaîne qui est un palindrome ou non.
Certains exemples ressemblent à un paragraphe, mais la phrase entière elle-même est un palindrome.
Si nous inversons la phrase ci-dessus, alors nous obtenons à nouveau la même phrase.
Prenons un exemple ; Veuillez consulter le code ci-dessous.
Code :
using System; public class Palindrome { public static bool IsPalindrome(string value) { int x = 0; int y = value.Length - 1; while (true) { if (x > y) { return true; } char i = value[x]; char j = value[y]; // Scan forward for a while invalid. while (!char.IsLetterOrDigit(i)) { x++; if (x > y) { return true; } i = value[x]; } while (!char.IsLetterOrDigit(j)) { y--; if (x > y) { return true; } j = value[y]; } if (char.ToLower(i) != char.ToLower(j)) { return false; } x++; y--; } } public static void Main() { string[] ary = { "Was it a car or a cat I saw?" }; foreach (string value in ary) { Console.WriteLine("{0} = {1}", value, IsPalindrome(value)); } } }
Sortie :
Par conséquent, comme nous en avons parlé, la phrase entière elle-même est un palindrome. Si vous l'inversez également, cela vous donnera la même phrase.
Dans le programme ci-dessus, nous parcourons la phrase jusqu'à la fin. Ensuite, nous l'avons mis en minuscules et vérifié par rapport à la phrase donnée. Essayez ce programme en codant vous-même ; alors seulement vous pouvez comprendre le déroulement réel de ces programmes.
Il existe de nombreuses astuces comme un palindrome. Nous avons vu la piqûre et le nombre, qui sont de nature palindrome. Avec quelle facilité, en quelques étapes, nous y sommes parvenus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!