현금이 부족하여 세계에서 가장 큰 디지털 도넛 회사 인 Donut Shop ™의 도넛을 만들려고 서명했습니다. 대부분 도넛을 상상할 수있는 모든 크기로 판매하기 때문입니다.
이제는 오늘날 거래 표준이 매우 까다로워서 이러한 도넛을 만들려면 가능한 한 짧은 코드를 작성하여이를 생성 한 소스 코드를 패킷 외부에 배치해야합니다.
도전
4 개의 입력, 외부 링의 반경, 내부 링의 반경, 가능한 스프링 클 및 셀이 스프링 클을 가질 가능성이 주어지면 올바른 내외부 반경을 갖는 스프링 클에 덮인 도넛을 출력합니다.
- 원하는 방식 (함수, 표준 입력, 프로그램 인수에 대한 인수) 및 순서에 상관없이 입력을받을 수 있습니다.
- 뿌리는 뿌리 유형 당 1 문자의 형태로 제공됩니다
^+*-
뿌린 입력 4 뿌리의리스트되는 바와 같이,^
,+
,*
,-
- 뿌릴 확률은 0과 1 사이의 부동 소수점 값으로 입력됩니다. 예 :
0.1
,0.23
- 출력을 stdout 또는 이와 동등한 것으로 인쇄해야합니다.
- 뿌리는 도넛의 가장자리에있을 수 없습니다.
- 각 유형의 뿌린 물은 각 세포에있을 가능성이 동일해야합니다.
- 반지름은 1 셀 단위로 제공됩니다.
- 내부 반경이 0 또는 외부 반경과 같으면 도넛에 링이 없다고합니다.
- 두 반지름은 음이 아닌 정수입니다.
- 도넛의 내부 및 외부 모서리는 해시 (
#
)를 사용하여 표시해야합니다. 반지름과 원의 중심이 주어지면 점이 원 안에 있는지 확인하는 테스트는 다음과 같습니다.
(x-center)**2+(y-center)**2 < radius**2
출력이있는 입력 예
(외경, 내경, 뿌리, 뿌릴 확률)
10, 4, "^ + *-", 0.1
######### # # ## ++ * *## # # # ^^ - * # # ##### ^ # #+ # # # # # #- # # # # * # # # #+ # # # # # #^ +# # # # # # # # * ##### # # + - # # ^ # ## ^ + ## # ^ # #########
5, 2, ": ^ + *", 0.9
##### #^^+ ^# #**### # #:# #^# #^# #*# #:# #*# #:+###* # # *:^:# #####
이것은 코드 골프입니다. 바이트 단위의 최단 답변
10, 4
과 모양 5, 2
이 다르기 때문에 예제 출력이 이미 무효화되었습니다 . 대답에 대한 의견을 남기려고했지만 출력의 치수가 예제의 경우와 어떻게 달라야하는지 실제로 이해하지 못했다는 것을 깨달았습니다. 원래 아이디어를 변경하여 답변의 결과와 일치 시키려면 그것은 당신에게 달려 있지만, 도전은 경계를 그리는 방법을 명확하게 정의해야합니다.