summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ruby/lswf.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/ruby/lswf.rb b/ruby/lswf.rb
new file mode 100644
index 0000000..57228ba
--- /dev/null
+++ b/ruby/lswf.rb
@@ -0,0 +1,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
+
+lst = 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