Hos*_*ian 3 python algorithm divide-and-conquer
我有一个分数,我想打印它的乳胶形式。对于 n == 3,分数如下:

如何使用分治法打印该分数的乳胶:
1+\frac{2+\frac{4}{5}}{3+\frac{6}{7}}
结果是:
1+\frac{2+\frac{4+\frac{8}{9}}{5+\frac{10}{11}}}{3+\frac{6+\frac{12}{13}}{7+\frac{14}{15}}}
Hos*_*ian 11
我自己找到了解决方案。我试图通过分而治之的方法来解决这个问题。我的解决方案有两个参数,开始和步骤。Start 是第一步打印的值。step 是显示分数个数的值。如果step = 1,那么我只打印start 的值。否则,对于每个步骤,分数的分子为 2 start,分母的值为 2 start+1。这是我的解决方案的代码。
def generate_fraction(start : int, step : int):
result = ""
if step == 1:
result = str(start)
else:
result = str(start) + '+\\frac{'+ generate_fraction(2*start, step-1) + '}{' + generate_fraction(2*start + 1, step-1) + '}'
return result
# Main Program ...
step = int(input())
start = 1
print(generate_fraction(start, step))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |