本文最后更新于 2024-06-24,文章内容可能已经过时。

描述

输入的cont代表连分数的系数(cont[0]代表上图的a0,以此类推)。返回一个长度为2的数组[n, m],使得连分数的值等于n / m,且n, m最大公约数为1。

代码

func fraction(cont []int) []int {
	res := make([]int, 2)
	n := len(cont)
	res[0], res[1] = cont[n-1], 1
	for i := n - 2; i >= 0; i-- {
		res[1], res[0] = res[0], cont[i]*res[0]+res[1]
	}
	return res
}