Um exemplo para vocês entenderem melhor:
1ª parte) Dado a palavra "radar", o programa retornaria true, já que essa palavra lida de trás para frente também é radar.
2ª parte) Dado um número 199, o programa retornaria 202, já que 202 é o menor número após 199 que é palíndrome.
Diferentemente do teste passado, dessa vez muitas respostas foram aparecendo, incluindo uma em Ruby. Mesmo assim não me intimidei e mandei uma outra resposta escrita nessa mesma linguagem.
class Palindrome
def initialize(phrase)
@phrase = phrase.gsub(/\s|,|'|\./,'').downcase
end
def is_it_palindrome?
@phrase == @phrase.reverse
end
def next_palindrome_integer
integer = @phrase.to_i
until integer.to_s == integer.to_s.reverse
integer+=1
end
return integer
end
end
print "Enter a phrase: "
my_phrase = Palindrome.new(gets.chomp)
puts "Is it palindrome? #{my_phrase.is_it_palindrome?}"
print "Enter a number: "
my_number = Palindrome.new(gets.chomp)
puts "The next integer palindrome is: #{my_number.next_palindrome_integer}"
Eu gostei muito do resultado, o código ficou bem limpo e fácil de entender, o método reverse para strings ajudou muito também.
Novamente eu vou incentivar aos leitores que saibam programar que postem suas soluções tanto aqui nos comentários quanto no tópico do fórum oficial do Ubuntu.
Nenhum comentário:
Postar um comentário