1
resposta

[Dúvida] 4 Descobrindo valores da aula 03] - Resultados não batem.

Desafio proposto:

Considere os seguintes números de CPF gerados aleatoriamente:

969.221.800-?? 989.143.300-?? 222.716.420-??

Quais são os dois últimos dígitos desses CPFs?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Porém cheguei a resultados diferentes:

CPF: 969.221.800-?? = 94

CPF: 989.143.300-?? = 45

CPF: 222.716.420-?? = 43

Fiz a conta errada?

1 resposta

Oi, Robert! Como vai?

Obrigada por compartilhar sua dúvida com a comunidade Alura.

Se dois dos três CPFs deram resultado diferente, pode ter sido por algum desses pontos no seu código:

1. Formato do CPFSe não removeu pontos e traços (. e -), o cálculo pode ter usado caracteres inválidos. Use replace(/\D/g, '') para limpar a string.

2. Multiplicação com stringsVerifique se cpf[tamanho] está sendo convertido para número antes da multiplicação. Se não estiver, pode gerar NaN.

3. Regra do "0"Se o resultado for 10 ou 11, ele deve virar 0. Confirme se você tem isso no código:

if (soma == 10 || soma == 11) {
    soma = 0;
}

4. Ordem dos multiplicadores O primeiro dígito usa pesos de 10 a 2, e o segundo de 11 a 2. Começar do peso errado altera tudo.

Se ainda assim não encontrar o erro, pode compartilhar seu código com a gente por aqui. A gente te ajuda a revisar.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado