10
埃及分数
概述: 来自维基百科:埃及分数是不同单位分数的总和。即,表达式中的每个分数都有一个等于1的分子和一个为正整数的分母,并且所有分母彼此不同。这种类型的表达式的值为正有理数a / b。每个正有理数都可以用埃及分数表示。 挑战: 编写最短函数,该函数将返回加总给定分数的最小单位分数集的所有分母的值。 规则/约束: 输入将是两个正整数值。 这可以是STDIN,argv,逗号分隔,空格分隔,或其他任何你喜欢的方法。 第一个输入值应为分子,第二个输入值应为分母。 第一个输入值应小于第二个输入值。 输出的值可能超过系统/语言(RAM,MAX_INT或存在的任何其他代码/系统约束)的内存限制。如果发生这种情况,只需将结果截断为可能的最高值,然后注意(即...)。 输出应该能够处理至少2147483483647(2 31 -1,32 位带符号int)的分母值。 较高的值(long等)完全可以接受。 输出应是找到的最小单位分数集(或分数本身,即1/2)的分母的所有值的列表。 输出应按照分母的值升序排序(以分数的值降序)。 可以使用任何希望的方式对输出进行定界,但是两者之间必须有一些字符,以便将一个值与下一个值区分开。 这就是代码高尔夫,因此最短的解决方案将获胜。 举例: 输入1: 43, 48 输出1: 2, 3, 16 输入2: 8/11 输出2: 1/2 1/6 1/22 1/66 输入3: 5 121 输出3: 33 121 363