22
输出第n个响铃号码
甲贝尔数(OEIS A000110)是方式来划分一组n个标记的(不同)的元素数。第0个响铃编号定义为1。 让我们看一些示例(我使用方括号表示分区的子集和大括号): 1: {1} 2: {[1,2]}, {[1],[2]} 3: {[1,2,3]}, {[1,2],[3]}, {[1,3],[2]}, {[2,3],[1]}, {[1],[2],[3]} 有多种计算贝尔编号的方法,您可以自由使用其中任何一种。这里将描述一种方法: 计算贝尔数的最简单方法是对二项式系数使用类似于Pascal三角形的数字三角形。钟形数字出现在三角形的边缘。从1开始,通过将上一行的最后一个条目作为第一个条目,然后将每个新条目设置为其左邻居加上左上邻居,来构造三角形中的每个新行: 1 1 2 2 3 5 5 7 10 15 15 20 27 37 52 您可以使用0索引或1索引。如果使用0索引,则输入3应该为输出5,但是2如果使用1索引,则应该输出。 您的程序必须输出15号铃号1382958545。从理论上讲,您的程序应该能够处理更大的数字(换句话说,不要对解决方案进行硬编码)。 编辑:您不需要处理输入0(对于0索引)或1(对于1索引),因为它不是由三角方法计算的。 测试用例(假设索引为0): 0 -> 1 (OPTIONAL) 1 -> 1 2 -> 2 3 -> 5 4 -> …