summaryrefslogtreecommitdiff
path: root/Year_1/Programming_2/coding_contest/pizzini.cpp
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2021-02-06 19:56:36 +0100
committerSanto Cariotti <santo@dcariotti.me>2021-02-06 19:56:36 +0100
commitd2edbc38cac8da52f58c5cd3da6c0c625fa05736 (patch)
treea51e9a4e56fc9d4c7c9e37576dceedca3a0c72b4 /Year_1/Programming_2/coding_contest/pizzini.cpp
parent98f34040820dc3a964b7be59a698323e8cc6c8a3 (diff)
conf: rename
Diffstat (limited to 'Year_1/Programming_2/coding_contest/pizzini.cpp')
-rw-r--r--Year_1/Programming_2/coding_contest/pizzini.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/Year_1/Programming_2/coding_contest/pizzini.cpp b/Year_1/Programming_2/coding_contest/pizzini.cpp
new file mode 100644
index 0000000..4fcb4ab
--- /dev/null
+++ b/Year_1/Programming_2/coding_contest/pizzini.cpp
@@ -0,0 +1,48 @@
+#include<iostream>
+#include<fstream>
+#include<vector>
+
+using namespace std;
+
+void get_fib(vector<int> &v, int N) {
+ int a = v.at(0);
+ int b = v.at(1);
+ while(b <= N) {
+ a += b;
+ v.push_back(a);
+ swap(a, b);
+ }
+ v.pop_back();
+}
+
+int main() {
+ ifstream in("input.txt");
+ ofstream out("output.txt");
+
+ for(short _ = 0; _ < 100; ++_) {
+ int N;
+ in >> N;
+ vector<int> fib {1, 2};
+ get_fib(fib, N);
+ vector<int> seq(fib.size(), 0);
+
+ int sum{};
+ for(int i = fib.size()-1; i >= 0; --i) {
+ if(fib.at(i) + sum > N) continue;
+
+ sum += fib.at(i);
+ seq[i] = 1;
+ }
+
+
+ for(auto const& i : seq)
+ out << i;
+
+ out << endl;
+ }
+
+ out.close();
+ in.close();
+
+ return 0;
+}