【发布时间】:2014-10-22 14:17:18
【问题描述】:
我正在尝试创建一个函数,该函数将为给定数字生成所有最简单分数的列表。我并不在意示例是用什么语言给出的,更多的是我试图理解的逻辑。
- 示例:4
- 正确:1/4、1/2、3/4
不必要的:1, 2/4
示例:12
- 正确:1/12、1/6、1/4、1/3、5/12、1/2、7/12、2/3、3/4、5/6、11/12 李>
- 不必要:1、2/6、4/6、2/4、6/12、4/12 等
我不确定通过迭代每个可能的分数是否朝着正确的方向前进,或者是否有更好的方法,或者如何找到分数的最简单表达式。
伪代码:
denominator = 12;
for (i = 1; i <= denominator; i++) {
for (n = 1; n <= denominator; n++) {
// find simplest expression of fraction when n!=i
}
}
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
提示:如果分子和分母是coprime,则分数是最简单的形式。