diff options
author | Santo Cariotti <sancn@live.com> | 2017-05-27 15:32:20 +0200 |
---|---|---|
committer | Santo Cariotti <sancn@live.com> | 2017-05-27 15:32:20 +0200 |
commit | 09422247fe86c55961ffd53587fe0ea8772e452c (patch) | |
tree | cb7778c732ee1d702228c9e94209bc10cf138c87 /cpp/lswf.cpp | |
parent | 7c88519ee77ea85ec6bbdc0fa45f2e2b26422a57 (diff) |
added travis
Diffstat (limited to 'cpp/lswf.cpp')
-rw-r--r-- | cpp/lswf.cpp | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/cpp/lswf.cpp b/cpp/lswf.cpp deleted file mode 100644 index dcf1b13..0000000 --- a/cpp/lswf.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* INPUT: - * 19 - * - * OUTPUT: - * 1000101 - */ -#include <iostream> -#include <fstream> -#include <list> -#define MAXG 1000001 - -int fibonacci(int* fib, int N) -{ - fib[0] = 1; fib[1] = 1; - int lst; - - for(int i = 2; i < N; i++) { - fib[i] = fib[i-1] + fib[i-2]; - lst = i; - if(fib[i] > N) break; - } - - return lst; -} - -int main() -{ - std::ifstream in("input.txt"); - std::ofstream out("output.txt"); - std::list<int> seq; - std::list<int>::iterator j; - - int N, i; - in >> N; - int caracts[MAXG], somma = 0, potSomma; - int lastc; - - if(N > 4) - lastc = fibonacci(caracts, N); - else { - caracts[0] = 1; - for(i = 1; i < 4; i++) - caracts[i] = i; - - switch (N) { - case 1: - lastc = 1; - break; - case 2: - lastc = 2; - break; - case 3: - lastc = 3; - break; - default: - lastc = 4; - } - } - - for(i = lastc; i > 0; i--) { - potSomma = somma + caracts[i]; - if(potSomma < N) { - somma = potSomma; - seq.push_front(1); - } else seq.push_front(0); - } - seq.push_front(1); - for(j = seq.begin(); j != seq.end(); j++) out << *j; - - in.close(); - out.close(); - return 0; -} |