diff options
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | lswf.cpp | 73 |
2 files changed, 0 insertions, 79 deletions
diff --git a/Makefile b/Makefile deleted file mode 100644 index 74db46d..0000000 --- a/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -CC=g++ -CFLAGS=-o -CVERSION=c++11 - -$1: $1.cpp - $(CC) -Wall -std=$(CVERSION) $(CFLAGS) cpp/$1 cpp/$1.cpp diff --git a/lswf.cpp b/lswf.cpp deleted file mode 100644 index dcf1b13..0000000 --- a/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; -} |