galera, não estou conseguindo fazer a seguinte questão, gostaria de uma ajuda:
Uma função hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo. Uma empresa definiu a forma de geração de uma string qualquer da seguinte forma:
Você terá como entrada uma string alfabética de tamanho qualquer e um inteiro que define o tamanho do bloco e que funcionará como chave da função. A partir daí o valor de cada letra da string será calculado da seguinte forma
Valor = (Posição no alfabeto) + (posição no bloco) + (número do bloco)
Todas posições são baseadas em zero. 'A' tem posição 0 no alfabeto, 'B' tem posição 1 no alfabeto, e assim por diante o primeiro bloco é o bloco 0.
O cálculo de hash retornado é o resto da divisão soma de todos os valores de caracteres da entrada por 100. Por exemplo, se a entrada for “ABcdE” e a chave for 4 teremos:
A = 0 + 0 + 0 = 0
B = 1 + 1 + 0 = 2
c = 2 + 2+ 0 = 4
d = 3 + 3 + 0 = 6
E = 4 + 0 + 1 = 5
O cálculo final de hash será o resto da divisão de 0 + 2+ 4 + 6 + 5 = 17