using System.Text.RegularExpressions;
public class CapicuesYPalindroms
public static void Main()
Console.WriteLine("Introdueix un número per comprovar si és capicua:");
int numero = int.Parse(Console.ReadLine());
ComprovarCapicua(numero);
Console.WriteLine("Introdueix una frase per comprovar si és un palíndrom:");
string frase = Console.ReadLine();
ComprovarPalindrom(frase);
public static void ComprovarCapicua(int numero)
string numStr = numero.ToString();
string numInvertit = InvertirString(numStr);
if (numStr == numInvertit)
Console.WriteLine("El número " + numero + " és capicua.");
Console.WriteLine("El número " + numero + " no és capicua.");
public static string InvertirString(string input)
char[] array = input.ToCharArray();
return new string(array);
public static void ComprovarPalindrom(string frase)
string fraseNeta = NetejarFrase(frase);
string fraseInvertida = InvertirString(fraseNeta);
if (fraseNeta == fraseInvertida)
Console.WriteLine("La frase \"" + frase + "\" és un palíndrom.");
Console.WriteLine("La frase \"" + frase + "\" no és un palíndrom.");
public static string NetejarFrase(string frase)
return Regex.Replace(frase.ToLower(), "[^a-z]", "");