diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-03-28 22:53:05 +0100 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-03-28 22:53:05 +0100 |
commit | ed2627c6130b4b492ede3929b3ada058cbdeeb4e (patch) | |
tree | ef9c6b66db468e3cc113f878ff14058df65844ad | |
parent | 486df5eebecb4803faa3bdfb840dc4f4e9b063c5 (diff) |
feat: coding contest 28/03/20
-rw-r--r-- | I_anno/Programmazione_2/pizzini.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/I_anno/Programmazione_2/pizzini.cpp b/I_anno/Programmazione_2/pizzini.cpp new file mode 100644 index 0000000..4fcb4ab --- /dev/null +++ b/I_anno/Programmazione_2/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; +} |