受此xkcd启发
您为Shazam工作,他们为您提供了一个项目。一些客户抱怨他们的应用程序占用了手机太多的空间,因此他们希望您编写精简版的应用程序代码。不幸的是,您现有的代码只能理解单词“ na”,因此您必须尽快发货。没关系,我们将竭尽所能。
挑战
您必须编写一个完整的程序来接受用户输入,或者接受命令行参数,然后打印歌曲的标题和艺术家。由于我们正在努力解决抱怨程序大小的客户,因此您的代码必须尽可能短。输入将是一个完全由na组成的字符串,它们之间有一个空格。小写/大写是任意的。这被认为是有效的输入:Na Na nA na NA
这是无效的输入:nah nah NA naNa banana
您必须确定正在播放的歌曲,并以这种格式将其打印出来:
Song: <trackname>
Artist: <artist>
如果输入正好是 8 na,则匹配两首独立的歌曲,因此您必须同时打印两首:
Song: Batman Theme
Artist: Neal Hefti
和
Song: Na Na Hey Hey Kiss Him Goodbye
Artist: Steam
如果输入正好是 10 na,则必须打印:
Song: Katamari Damacy
Artist: Yuu Miyake
如果输入正好是 11 na,则必须打印:
Song: Hey Jude
Artist: The Beatles
如果输入的数字是12或更多,则必须打印
Song: Land Of 1000 Dances
Artist: Wilson Pickett
最后,如果输入无效,少于8个na或任何单词都不是“ na”,则您的程序无法理解音乐。从逻辑上讲,可能只有另一首歌曲。您必须打印:
Song: Africa
Artist: Toto
像往常一样,存在标准漏洞,而最短的答案以字节为单位。
na
秒吗?我只是听了一下,以为quarter quarter quarter quarter / eighth sixteenth sixteenth quarter-quarter-quarter / eighth sixteenth quarter-quarter-quarter
是12 na
秒(就音符长度而言)。
onnnnnnnnne-one-three-one-a-two-threeeeeeeeeee-one-a-two-threeeeeeee-hey-jude
绝对是11
na na / na na / na na / na na
x2 batman
。我注意到我第二次看漫画。