이 과제는 Arduino 마이크로 컨트롤러를 프로그래밍하여 영감을 얻었습니다. 6 개의 LED와 6 개의 버튼이 보드의 다양한 핀에 연결되어 있습니다. 코드에서 각 버튼과 LED에는 ID 번호 (1-6)가 할당됩니다. ID 번호에 해당하는 핀 번호 (0-13 범위)는 switch
명령문 을 사용하여 조회됩니다 . 순전히 오락을 위해, switch
미래의 코드 관리자를 놀라게하기 위해 산술 / 기타 기능으로 이러한 es를 피할 수 있는지 궁금합니다 .
도전
ID 번호 (정수)를 매개 변수로 사용하는 기능 / 기능을 제공하고 조건문을 사용하지 않고 6 개의 LED 및 / 또는 6 버튼의 핀 번호 (정수)를 반환합니다 (no if
, no switch
및 ternary).
LED의 반환 값 :
ID Pin
1 3
2 5
3 6
4 9
5 10
6 11
버튼의 반환 값 :
ID Pin
1 2
2 4
3 7
4 8
5 12
6 13
보너스 챌린지
LED 또는 버튼 핀의 요청 여부를 나타내는 ID 번호 (정수)와 두 번째 매개 변수 (모든 유형)를 사용하고 해당 핀 (정수)을 반환하는 단일 기능을 제공하십시오.
규칙
이것은 아두 이노 특유의 도전 이 아닙니다 . 사용 언어를 수행 무엇이든 당신이 원하는.
편집 : steveverril 의 제안에 따르면 , 이것은 현재 코드 골프 도전입니다.
행운을 빕니다!
(여전히 읽는 경우 : 프로그래밍 표준에 따라 특허가 불합리하고 임의적 임에도 불구하고 매핑은 Arduino Micro의 핀아웃을 기반으로합니다. 핀 0과 1은 직렬 통신용으로 예약되어 있으며, LED는 6 개의 가장 낮은 번호의 PWM 가능 핀에 할당됩니다. , 버튼은 나머지 핀에 할당됩니다)
1+(1==1)
?