将数字的连续分数加倍
给定您的任务x,输出2*x。容易吧!!但是有一个陷阱:x将作为(可能是无限的)连续分数给出,并且输出必须是连续分数。确保输入为实数代数,其次数最多为2。 输入:的连续分数x。这分为三部分:整数部分,前缀和重复部分。整数部分由一个整数组成。前缀和重复部分是(可能为空)正整数数组,用于描述连续分数的前缀和重复部分。例如,输入(3, [1], [2, 4])表示连续分数[3; 1, 2, 4, 2, 4, ...]。 如果重复部分为空,则表示有理数。例如,(3, [1, 2], [])代表[3; 1, 2] = 11/3。您必须接受两种形式的有理数(即(3, [1, 1, 1], []),也[3; 1, 1, 1] = 11/3应该是有效的输入)。 输出:以与输入相同的格式输出输入两倍的连续分数。如果输出是合理的,则可以输出连续分数的任何一种形式。只要答案等同于正确答案,就可以了。不需要“压缩”,因此无限部分可能会“展开”一点(例如,[1; 4, 2, 3, 2, 3...]可能是书写的(1, [4], [2, 3])或(1, [4, 2, 3], [2, 3]))。所有答案必须准确。 测试用例:为方便起见,给出了准确的表格列。 Input Exact Form Output (0, [] []) …