Hamming

Hamming

Fácil

Introdução

O teu corpo é feito de células que contêm DNA. Essas células desgastam-se regularmente e precisam de ser substituídas, o que conseguem ao dividir-se em células-filhas. De facto, o corpo humano médio passa por cerca de dez mil biliões de divisões celulares ao longo da vida!

Quando as células se dividem, o seu DNA também se replica. Por vezes, durante este processo, acontecem erros e pequenas partes de DNA ficam codificadas com a informação incorreta. Se compararmos duas cadeias de DNA e contarmos as diferenças entre elas, conseguimos ver quantos erros ocorreram. É a isto que se chama a "distância de Hamming".

A distância de Hamming é útil em muitas áreas da ciência, não só na biologia, por isso é uma expressão que vale a pena conheceres :)

Instruções

Calcula a distância de Hamming entre duas cadeias de ADN.

Lemos o ADN através das letras C, A, G e T. Duas cadeias podem ter este aspeto:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

Têm 7 diferenças e, por isso, a distância de Hamming é 7.

Notas de implementação

A distância de Hamming só está definida para sequências de igual comprimento. Por isso, não deve ser possível calculá-la entre sequências com comprimentos diferentes.

Implementação

Se as sequências não tiverem o mesmo comprimento, devolve um tuplo {error, badarg}. Caso contrário, devolve apenas o número inteiro.

Editar via GitHub A ligação abre numa nova janela ou separador
Erlang Exercism

Estás pronto para começar Hamming?

Inscreve-te no Exercism para aprenderes e dominares Erlang com 85 exercícios, e mentoria humana real, tudo grátis.