Por que o grupo 25 tem o 00 e não o 100?
Resposta direta
Porque a dezena tem exatamente dois dígitos, então a contagem vai de 00 a 99 e o 00 ocupa o lugar do centésimo número.
Não existe dezena "100" — seriam três dígitos. As dezenas possíveis são 100, de 00 a 99, e o 00 é uma delas.
Os grupos são preenchidos em blocos de 4 a partir do 01. Quando a contagem chega ao grupo 25, sobram 97, 98, 99, 00 — e o 00 é o que faria papel de "cem" se a numeração começasse em 1.
Consequência prática: uma leitura automática que trate string vazia ou zero como número acaba caindo silenciosamente no grupo 25. É um bug clássico, e a razão de o nosso código rejeitar entrada vazia em vez de convertê-la.