这项挑战的灵感来自对Arduino微控制器进行编程。我有6个LED和6个按钮连接到板上的各种引脚。在代码中,每个按钮和LED都分配有一个ID号(1-6)。使用switch
语句查找与ID号对应的针号(范围为0-13)。纯粹出于娱乐目的,我想知道是否switch
可以使用算术/其他函数规避这些ES,以使将来的代码维护人员感到恐惧。
挑战
提供以ID号(整数)为参数并返回6个LED和/或6个按钮的引脚号(整数)的功能,而无需使用条件语句(no if
,no switch
和no三元)。
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
奖金挑战
提供一个具有ID号(整数)和第二个参数(任何类型)的单一功能,该参数指示是否请求LED或按钮引脚,并返回相应的引脚(整数)。
规则
这不是特定于Arduino的挑战。使用任何语言,做任何你想要的。
编辑:在steveverril的建议下,这现在是高尔夫挑战赛。
祝好运!
(如果您仍在阅读:虽然按编程标准显然是荒谬的和任意的,但映射是基于Arduino Micro的引脚排列的。引脚0和1保留用于串行通信,LED分配给6个编号最小的PWM功能引脚,按钮将分配给其余的引脚)
1+(1==1)
?