diff options
Diffstat (limited to 'I_anno/Programmazione_2/pizzini.cpp')
-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; +} |