标签:一个 问题 str 单位 示例 else public return class
分子是1的分数,叫做单位分数.古代埃及人在进行分数运算时,只使用分子是1的分数,依次这种分数也叫埃及分数式,或者叫单分子分数.
要求随便输入一个真分数,将该分数分解为埃及分数式,如 3/7 = 1/3 + 1/11 + 1/231.
Python
# 递归思路 => 具体个数是不知道的
def fun(a, b):
k = int(b / a)
if b % a == 0:
res = "1/%s" % k
else:
k += 1
res = "1/%s + %s" % (k, fun(a * k - b, b * k))
return res
print(fun(3, 8))
Java
// 埃及分数式 => 递归
public class 埃及分数式 {
// a: 分子 b: 分母
static String fun(int a, int b) {
String res = "";
int k = b / a;
if (b % a == 0) {
res += "1/"+k;
}else{
k++;
res += "1/"+k+" + "+fun(a * k -b,b*k);
}
return res;
}
public static void main(String[] args) {
System.out.println(fun(3,7));
}
}
标签:一个 问题 str 单位 示例 else public return class
原文地址:https://www.cnblogs.com/Rowry/p/11823786.html