def
zeck
(
n
)
arr =
Array
.
new
temp =
0
n.
times
do
|
x
|
fibo = fib
(
x
)
arr
<<
fibo
if
fibo
<
= n
&&
fibo !=
0
temp = x
if
fibo
<
= n
break
if
fibo
>
n
end
arr
<<
fib
(
temp
+
1
)
arr = arr.
reverse
ans =
Array
.
new
while
n
>
0
arr.
each
do
|
x
|
if
x
<
= n
&&
x !=
0
ans
<<
x
n = n
-
x
end
end
end
puts
ans
end