Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Marcos Bustamante

Transformar letras do alfabeto em numeros e somar

Pergunta

Olá, preciso de uma ajudinha!

Quero transformar letras de a-z em numeros de 1 a 9 e obter a soma destes números até que seja reduzido a um unico número. Por exemplo: o c=3, a=1, s=1, a=1 assim: casa= 3+1+1+1=5 ou outro exemplo: a palavra árvore. a=1, r=9, v=4, o=6, r=9, e=5 o resultado será 34. 3+4=7. Alguém pode me ajudar a fazer isto em javascript?

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 respostas a esta questão

Recommended Posts

No seu primeiro exemplo S = 1 e A = 1. É isso mesmo?

 

Ou a ideia é seguir a = 1, b = 2, c = 3, d = 4, e assim por diante?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue um exemplo com valores utilizando o próprio código ascii dos caracteres.

var texto = ("abcZ").toLowerCase();

var total = 0;
for(var i=0; i< texto.length; i++) {
  total = total + (texto[i].charCodeAt() - 96);
}

var somaTotalLetras = function(total) {
  var soma = total.toString();
  if ((total > 10) && (total < 100)) {
    soma = parseInt(soma[0]) + parseInt(soma[1]);
  } else if ((total >= 100) && (total < 1000)) {
    soma = parseInt(soma[0]) + parseInt(soma[1]) + parseInt(soma[2]);
  } else if ((total >= 1000) && (total < 10000)) {
    soma = parseInt(soma[0]) + parseInt(soma[1]) + parseInt(soma[2]) + parseInt(soma[3]);
  }
  
  return soma;
}

document.getElementById("total_letras").innerHTML = total;
document.getElementById("soma_total_letras").innerHTML = somaTotalLetras(total);
<span id="total_letras"></span>
<span id="soma_total_letras"></span>

Faça as modificações de acordo com a sua necessidade. Pelo que vi você pode criar 9 vetores com três posições ocupadas, ou uma matriz. Cada letra ficará em um índice do vetor.

Qualquer dúvida poste aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.