题解:UVA11780 Miles 2 Km
思路:
对于用斐波那契数列将距离从英里转换为公里,我们可以发现一个性质,误差最小的公里数必然是距离真实值
通过拆分英里数,我们可以用斐波那契数列中小的数组合出任何大于等于
代码:
#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define itn int
#define ull unsigned long long
int n;
int main(){
//ios::sync_with_stdio(0);
//cin.tie(0);cout.tie(0);
while(cin>>n){
if(!n)break;
int a=1.6*n,b=a+1;
printf("%.2lf\n",min(abs(1.6*n-a),abs(b-1.6*n)));
}
return 0;
}