diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-10-18 18:56:43 +0200 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-10-18 18:59:42 +0200 |
commit | 6c6328375c55683645146909b7ab760d0de0d463 (patch) | |
tree | b18e695dfe7a10064fed111649253dc2c77208bf /1_anno/Programmazione_2/coding_contest/pizzini.cpp | |
parent | 4e063e32250312c38d5646840719b62429362b21 (diff) |
chore: name of first year folder
Diffstat (limited to '1_anno/Programmazione_2/coding_contest/pizzini.cpp')
-rw-r--r-- | 1_anno/Programmazione_2/coding_contest/pizzini.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/1_anno/Programmazione_2/coding_contest/pizzini.cpp b/1_anno/Programmazione_2/coding_contest/pizzini.cpp new file mode 100644 index 0000000..4fcb4ab --- /dev/null +++ b/1_anno/Programmazione_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; +} |