O desafio
Dadas as duas cadeias de caracteres hexadecimais maiúsculas (ambos 6 caracteres, XXXXXX e YYYYYY) representando valores RGB (que vão desde 000000
a FFFFFF
inclusive), e uma diferente de zero positivo inteiro N, exiba uma transição linear de N + 2 cores geradas a partir de XXXXXX para YYYYYY isso resultaria em um gradiente de cor.
Exemplo
Entrada
FF3762
F08800
9
Resultado
Observe que em nosso exemplo, solicitei 9 etapas intermediárias entre as duas cores; portanto, 11 linhas serão exibidas da cor inicial à cor final
FF3762
FD3F58
FC474E
FA4F44
F9573A
F75F31
F66727
F46F1D
F37713
F17F09
F08800
Ressalvas
Enquanto eu segui um processo linear simples de derivar os valores inteiros para as cores provisórias antes de convertê-los novamente em hexadecimal, seus métodos podem variar. Por favor, considere as várias maneiras de arredondar / diminuir seus números de acordo.
Teste
Para tornar isso interessante, forneci um snippet para permitir o teste do seu código, inclusive um botão para fornecer duas cores aleatórias para testar seu código. A exibição de seus resultados é opcional, mas é incentivada!
c1=()=>('00000'+(Math.random()*(1<<24)|0).toString(16)).slice(-6);
$("#col").click(function(){
alert("Your two colors are: "+c1()+" and "+c1()+".");
});
$("#colors").blur(function(){
$("#test").empty();
var colArr = $("#colors").val().split("\n");
for(c in colArr){
$("#test").append('<div class="tester" style="background-color:#'+colArr[c]+';">'+colArr[c]+'</div>')
}
});
.tester{height: 20px;
width: 60px;padding: 4px;border: 1px solid black;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="col">Your two colors</button><br />
<textarea id="colors"></textarea>
<div id="test">
</div>
1) Você pode acessar duas cores aleatórias para o seu teste clicando no botão "Suas duas cores". 2) O número de etapas intermediárias será o mesmo que o número de caracteres no seu nome de usuário PPCG, incluindo espaços, no caso de "WallyWest", seria 9 (conforme meu exemplo acima). 3) Execute seu código com as duas cores e o número e, depois de ter sua lista gerada, você poderá colar sua saída na área de texto e separá-la para obter o gradiente de cores gerado.
Meu exemplo é mostrado aqui:
Devo admitir, isso parece incrível!
Observação: como mencionei, mostrar o teste de sua saída usando o snippet é opcional, mas é recomendável! :)
Resultado
A saída da lista deve estar na forma de conjuntos N + 2 de números hexadecimais de 6 dígitos separados por feeds de linha (\ n), como mostrado no meu exemplo acima. A saída pode ser na forma de linhas separadas, lista separada por espaço / vírgula, uma matriz ou o que for mais adequado para o seu idioma ... (Obrigado @nimi pelo aviso) Lembre-se de que, se você planeja testar seu código com o snippet, no entanto, você separa cada "cor" que depende de você.
Regras
Isso é código-golfe, então a solução mais curta em bytes será coroada a vencedora. Sem brechas , naturalmente. A entrada deve aceitar as duas strings e um número (que, como eu disse, será equivalente ao número de letras no seu nome de usuário no PPCG, portanto, a saída resultante sempre terá no mínimo três linhas.