在音乐理论中,间隔是两个音高之间的差。每个音高由半步数(C和C#之间的差)或整步数(C和D之间的差)定义。整个步骤与两个半步骤相同。这是所有默认间隔及其代表的半步数的列表:
0 Perfect Unison
2 Major Second
4 Major Third
5 Perfect Fourth
7 Perfect Fifth
9 Major Sixth
11 Major Seventh
12 Perfect Octave
默认间隔有3种变化,较小,减小和增大。
一个微小的间隔比一大间隔一个半步低,但不是一个完美的时间间隔。因此,您有一个次要(1),一个次要(3),一个次要(8)和一个次要(10)。因为这些都是完美的时间间隔,所以没有小四度,小五度,小三度或小八度。
甲减少间隔比小一个半步下或完美间隔。第二(0),第三(2),第四(4),第五(6),第六(7),第七(9)和八度(11)减小。
一个增强间隔是一个半步更高的比重大的或完美的时间间隔。我们拥有增强的Unison(1),增强的Second(3),增强的第三(5),增强的第四(6),增强的第五(8),增强的第六(10)和增强的第七(12)。
挑战:
您必须编写程序或功能,需要一个数的一半步骤或全部步骤,然后打印出的一个这个区间的有效英文说明。只要选择与IO表完全匹配的名称,都无关紧要。您可以将此作为一个字符串
"5w" == 5 whole steps
"3h" == 3 half steps
或作为数字和字符串/字符。
5, "w" == 5 whole steps
3, "h" == 3 half steps.
您可以假设每个输入将介于0和12个半步之间。
IO表
这是将半步数映射到所有可接受输出的完整列表。
0 Perfect unison, Diminished second
1 Minor second, Augmented unison
2 Major second, Diminished third
3 Minor third, Augmented second
4 Major third, Diminished fourth
5 Perfect fourth, Augmented third
6 Diminished fifth, Augmented fourth
7 Perfect fifth, Diminished sixth
8 Minor sixth, Augmented fifth
9 Major sixth, Diminished seventh
10 Minor seventh, Augmented sixth
11 Major seventh, Diminished octave
12 Perfect octave, Augmented seventh
这是一些示例I / O:
5w Minor Seventh
5h Augmented Third
12h Perfect Octave
12w UNDEFINED
1w Diminished third
2h Major Second