SP7875 ADV04L - Miles and kilometers

题目描述

如果你常常旅行,你可能会遇到这样的问题:不同国家有各自的度量衡系统。特别是在测量距离时,主要有两种系统:公制和英制。公制使用公里,而英制使用英里。众所周知,一英里大约等于 1.609 公里。有趣的是,这个数值接近于黄金分割率(大约为 1.618)。基于这一奇妙的巧合,有一种有趣的方法用于将英里转换为公里。 让我们来看一下斐波那契数列:定义为 $F_1 = F_2 = 1$,对于 $n > 2$,$F_n = F_{n-1} + F_{n-2}$。两个连续斐波那契数的比值 $F_{n+1} / F_n$ 随着 $n$ 逼近无穷大时接近黄金分割率。因此,可以将英里数拆分为若干个尽可能大的斐波那契数,然后将每个斐波那契数替换为下一个更大的斐波那契数,再把这些数相加,就得到了大致的公里数。比如,40 英里可以表示为 34 + 5 + 1,替换为下一个斐波那契数后它们变为 55、8 和 2,相加得 65。这意味着 40 英里大约等于 65 公里(精确值是 64.37 公里)。请编写一个程序来实现这一转换方法。

输入格式

第一行输入一个整数 $t$,代表测试用例的数量。接下来的每一行都是一个测试用例,包含一个整数 $m$,表示英里的数量。

输出格式

对于每个测试用例,输出利用上述方法计算出的公里数。

说明/提示

- $1 \le t \le 100$ - $1 \le m \le 10^9$ **本翻译由 AI 自动生成**