도전
두 대문자 진수 문자열이 주어 (모두 6 자, XXXXXX 및 YYYYYY) (에서부터 RGB 값을 표현 000000
에 FFFFFF
포함) 및 0이 아닌 양의 N 정수는 XXXXXX에서 YYYYYY하여 발생하는 N + 2 색의 선형 전이를 표시 색상 그라디언트가 발생합니다.
예
입력
FF3762
F08800
9
산출
이 예에서 두 색상 사이에 9 개의 중간 단계를 요청 했으므로 초기 색상에서 최종 색상까지 11 개의 라인이 표시됩니다.
FF3762
FD3F58
FC474E
FA4F44
F9573A
F75F31
F66727
F46F1D
F37713
F17F09
F08800
경고
중간 색상의 정수 값을 16 진수로 다시 변환하기 전에 파생하는 간단한 선형 프로세스를 사용했지만 방법이 다를 수 있습니다. 숫자를 올림 / 내림하는 다양한 방법을 고려 하십시오 .
테스팅
이를 흥미롭게하기 위해 코드를 테스트 할 수있는 두 가지 임의의 색상을 제공하는 버튼을 포함하여 코드를 테스트 할 수있는 스 니펫을 제공했습니다. 결과를 표시하는 것은 선택 사항이지만 권장됩니다!
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) "두 가지 색"버튼을 클릭하여 테스트를위한 두 가지 임의의 색을 이용할 수 있습니다. 2) 중간 단계 수는 공백을 포함하여 PPCG 사용자 이름의 문자 수와 동일하며 "WallyWest"의 경우 9입니다 (위의 예에 따라). 3) 두 가지 색상과 숫자로 코드를 실행하고 생성 된 목록이 있으면 출력을 텍스트 영역에 붙여 넣고 생성 된 색상 그라디언트를 얻기 위해 텍스트 영역을 탭핑 할 수 있습니다.
내 예는 다음과 같습니다.
나는 인정해야한다, 그것은 꽤 굉장해 보인다!
참고 : 언급했듯이 스 니펫을 사용하여 출력 테스트를 표시하는 것은 선택 사항이지만 권장됩니다! :)
산출
목록 출력은 위의 예와 같이 줄 바꿈 (\ n)으로 구분 된 6 자리 16 진수의 N + 2 세트 형식이어야합니다. 출력은 별도의 라인의 형태 일 수있다, 공간 / 쉼표 목록, 가장 언어에 적합 어떤 배열이나 ... 분리 (최대 머리에 대한 감사 @nimi)를 기억하세요 당신은 당신의 코드를 테스트 계획이라면 스 니펫, 그러나 당신은 각 "색상"을 분리합니다.
규칙
이것은 코드 골프이므로 바이트 단위의 최단 솔루션이 승자가됩니다. 허점 없음 , 자연스럽게. 입력은 두 개의 문자열과 숫자를 허용해야합니다 (PPCG의 사용자 이름에있는 문자 수와 동일하므로 결과 출력은 항상 최소 3 줄입니다.