数の連続分数を2倍にする
与えられたタスクはxoutput 2*xです。簡単ですよね!?しかし、キャッチxがあります:(おそらく無限の)継続分数として与えられ、出力は継続分数でなければなりません。入力は、次数が最大2の実代数になることが保証されています。 入力:x。これは、整数部分、プレフィックス、および繰り返し部分の3つの部分に分割されます。整数部分は単一の整数で構成されます。プレフィックスと繰り返し部分は、連続した分数のプレフィックスと繰り返し部分を記述する正の整数の配列(空の場合もあります)です。たとえば、入力(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も有効な入力である必要があります)。 出力:入力と同じ形式で、入力の2倍の連続した部分を出力します。出力が合理的であれば、どちらの形式の連続分数も出力できます。答えが正解と同等である限り、それは問題ありません。「圧縮」は必要ないので、無限部分は少し「展開」される可能性が[1; 4, 2, 3, 2, 3...]あります(たとえば、書かれ(1, [4], [2, 3])たり(1, [4, 2, 3], [2, 3]))。すべての答えは正確でなければなりません。 テストケース:正確な形式の列は、便宜上提供されています。 Input Exact Form Output (0, [] …