WY22. Fibonacci数列
描述
Fibonacci数列是这样定义的:输入描述
输入为一个正整数N(1 ≤ N ≤ 1,000,000)输出描述
输出一个最小的步数变为Fibonacci数"示例1
输入:
15
输出:
2
Pascal 解法, 执行用时: 1ms, 内存消耗: 256KB, 提交时间: 2018-09-08
var f:array[1..1000000]of longint; a,b,i,n:longint; begin f[1]:=0; f[2]:=1; i:=2; readln(n); repeat inc(i); f[i]:=f[i-1]+f[i-2]; until f[i]>=n; a:=abs(f[i]-n); b:=abs(n-f[i-1]); if(a<b)then write(a) else write(b); end.
Pascal 解法, 执行用时: 1ms, 内存消耗: 348KB, 提交时间: 2018-09-08
program exe; var i,j,k,l,m,n:dword; a:array[1..50]of int64; xia,shang:int64; begin readln(n); a[1]:=1; a[2]:=1; for i:=3 to 33 do a[i]:=a[i-1]+a[i-2]; //for i:=1 to 33 do write(a[i],' '); k:=1; for i:=1 to 33 do if n>=a[k] then k:=i else break; xia:=a[k-1];shang:=a[k]; // writeln(xia,shang); xia:=n-a[k-1];shang:=a[k]-n; // writeln(xia,shang); if xia>shang then writeln(shang) else writeln(xia); end.