场景是:
当Brian突然需要他的吸入器时,Peter和他的伙伴Brian在健身房。Brian倒在地板上之前设法告诉Peter密码到他的密码锁。
当彼得到达Brian的储物柜并看到指示器所指的那一刻,Stewie伏击了他,并在他的脸上喷了满罐胡椒粉,使Peter蒙蔽了双眼。
彼得现在必须尝试打开锁而不要看它。他开始将表盘向右旋转,并在传递数字时对数字进行计数。然后,他以正确的数字开始将表盘向左旋转,仍在计数,最后将其向右旋转直到锁打开。
挑战:
编写一个函数/程序,它接受两个输入,即来自Brian的组合和指示器位置。输出彼得必须数的数字。
规则:
- 组合和指标位置必须是单独的参数。
- 输入可以来自命令提示符,也可以作为函数参数。
- 输出必须打印到屏幕上/否则显示(不记录到文件中)
- 假定起始位置与第一个数字不同,并且组合中的所有三个数字都是唯一的
- 下图所示为锁,可能的数字为0-39。
说明:
要打开下面的锁,您需要按照以下说明进行操作:
- 您必须知道您的代码。假设现在是(38,16,22)。
- 将拨盘向右旋转3次(通过起始数字3次),然后在第一个数字(38)与指示器对准时停止
- 将拨盘向左旋转1圈,传递第一个数字,并在第二个数字(16)与指示器对齐时停止。
- 将拨盘向右旋转,并在第三个数字(22)与指示器对准时停止
- 拉下锁
例:
Input
38 16 22
33  
Output
33  32  31  30  29  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0  39  38  37  36  35  34  33  32  31  30  29  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0  39  38  37  36  35  34  33  32  31  30  29  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0  39  38  37  36  35  34  33  32  31  30  29  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0  39  38  39   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0  39  38  37  36  35  34  33  32  31  30  29  28  27  26  25  24  23  22
适用标准代码高尔夫规则。
如果发布的解决方案比丹尼斯的答案短,则仍然可以获胜。
                  @CᴏɴᴏʀO'Bʀɪᴇɴ,有效点... :-)但是:1.我们所谈论的彼得人并不是棚子里最犀利的工具。2.您不想将代码告诉别人。3.谁知道,也许Stewie有备用的喷雾罐..?
                
                
                  
                    —
                    Stewie Griffin 
                    
                  
                
              
                  啊对。炖肉有无限罐胡椒喷雾,对吗?哈哈:3
                
                
                  
                    —
                    Conor O'Brien 2015年
                    
                  
                
              
                  我们可以使用仍然打开该锁的替代算法吗?
                
                
                  
                    —
                    bmarks 2015年
                    
                  
                
              
                  彼得需要学习武术。(为什么布赖恩(Brian)倒闭时,为什么健身房里没有教练?预算削减了?;)
                
                
                  
                    —
                    kirbyfan64sos 2015年
                    
                  
                
              
function combination(code){alert("Help! Someone open this locker, the combination is "+code+"!")}