summaryrefslogtreecommitdiff
path: root/ruby/lswf.rb
blob: 236847ee6e4752c1811dcb47278a51d4bd57c9fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
fib = []
fib.push 1
fib.push 1

def fibonacci(n, fib)
  for i in 2...n do
    fib.push fib[i-1] + fib[i-2]

    break if fib[i] > n
  end

  return i
end

File.open('input.txt', 'r') do |fin|
  N = fin.gets.to_i
end

fibonacci(N, fib)

fib = fib.reverse

somma = 0
seq = []

for i in 0...fib.length-1 do
  potSomma = somma + fib[i]

  if potSomma < N
    somma = potSomma
    seq << 1
  else
    seq << 0
  end
end

seq << 1
seq = seq.reverse

seq.pop if N == 1 || N > 4

File.open('output.txt', 'w') do |fout|
  seq.each {|c| fout.print c}
end