Mi método:
using System;
namespace ConsoleApplication3
{
class Program
{
//Esta funcion te dice si un numero es palindromo o no.
//Un numero es palindromo si es igual leido de izd a drcha, que de drcha a izd.
static String EsPalindromo(string num)
{
//en esta varuables guardaremos que pares son iguales
int contador = 0;
// en esta variable guardaremos el valor original
string aux = num;
// haz mientras el tamaño del num sea mayor a uno
while (num.Length > 1)
{
// si el primer num es igual al ultimo
if (num[0]== num[num.Length-1])
{
//sumamos uno al contador
contador++;
}
//borramos el ultimo numero primero, para no afectar al tamaño
num = num.Remove(num.Length-1, 1);
// borramos el primer numero
num = num.Remove(0, 1);
}
// si el contador es igual al tamaño original divido para dos es palindromo
if (contador == aux.Length / 2)
{
return "si";
}
else
{
return "no";
}
}
static void Main(string[] args)
{
//recogemos un num introducido por el usuario en teclado
string num;
Console.WriteLine("Introduzca un número:");
num = Console.ReadLine();
//devolvemos el resultado de la funcion
Console.WriteLine("Este número {0} es palindromo", EsPalindromo(num));
Console.ReadKey();
}
}
}
Método del profesor:
using System;
namespace Examen02
{
class MainClass
{
//Esta funcion te dice si un numero es palindromo o no.
//Un numero es palindromo si es igual leido de izd a drcha, que de drcha a izd.
static bool Palindroma(string c)
{
// si el tamaño es menos de 2 devuelve que es palindromo
if (c.Length < 2)
return true;
// si el tamaño es mayor de 2 haz
else
//si el primer numero es igual al ultimo
if (c[0] == c[c.Length - 1])
{
//primero borra por el final para no afectar al tamaño
c = c.Remove(c.Length - 1, 1);
//Despues borra el ultimo numero
c = c.Remove(0, 1);
//devuelve la llamada a la funcion
return Palindroma(c);
}
//en caso contrario devuelve falso
else return false;
}
public static void Main(string[] args)
{
// recogemos por pantalla el num introducido por el usuario a traves del teclado
Console.Write("Introduce un valor para ver si es palíndromo: ");
string c = Console.ReadLine();
// devuelve el resultado de la funcion
Console.Write("¿es palíndroma?: {0}", Palindroma(c));
Console.ReadKey();
}
}
}
Comprobaciones realizadas
25=no
1111=si
11511=no
0 comentarios:
Publicar un comentario