Ir para conteúdo
Entre para seguir isso  
Zero

Função verifica número palíndromo

Recommended Posts

Zero    0
Zero

Olá,

a pouco tempo houve um desafio de programação lançado pela UFMA. Ontem eu achei um dos problemas do desafio na internet e fiz a solução.

 

Aqui vai o desafio:

Problema A - Palíndromos

Números palíndromos são aqueles que são iguais quando lidos de frente para trás e de trás para

frente. Alguns exemplos são 5005, 323, 7 e 99. Implemente um programa que lê do usuário números

inteiros entre 1 e 10.000 e informa se cada um desses números é palíndromo ou não. O programa

deve terminar quando o usuário informar 0 (zero).

 

 

Enfim, desenvolvi uma função(em Visual Basic .net) essencial para a solução do problema acima.

 

Aqui está ela.

'Developed by Zero
   Function IsPalindromo(ByVal iNumero As Integer) As Boolean
       Dim i, ii As Integer
       Dim s1(CInt(Len(CStr(iNumero)) / 2) - 1), s2(CInt(Len(CStr(iNumero)) / 2) - 1) As String
       For i = 1 To CInt(Len(CStr(iNumero)) / 2) : s1(i - 1) = Mid(CStr(iNumero), i, 1) : Next
       If CInt(Len(CStr(iNumero))) Mod 2 <> 0 Then i += 1
       ii = i
       For i = ii To Len(CStr(iNumero)) : s2(i - ii) = Mid(CStr(iNumero), i, 1) : Next
       For i = s1.GetLowerBound(0) To s1.GetUpperBound(0)
           If s1(i) <> s2(s2.GetUpperBound(0) - i) Then Return False
       Next
       Return True
   End Function

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×