Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <vector>
- using namespace std;
- #define fora(x) for(auto &I : x)
- #define rfor(x) for(int I = x.size()-1; I >= 0; I--)
- void getMinFibseries(vector<int> &Fib, int N){
- int F1 = 0, F2 = 0, F3 = 1, i = 0;
- while(N > F3)
- {
- F1 = F2;
- F2 = F3;
- F3 = F1 + F2;
- Fib.push_back(F3);
- }
- if(Fib.back() > N)
- Fib.pop_back();
- }
- int main()
- {
- vector<int> Fs;
- vector<int> Rt;
- int N;
- scanf("%d",&N);
- getMinFibseries(Fs,N);
- Rt = vector<int>(Fs.size()-1,0);
- Rt.push_back(1);
- int delta = N;
- for(int i = Fs.size()-1; i >= 0; i--)
- {
- if(Fs[i] <= delta){
- delta -= Fs[i];
- Rt[i] = 1;
- }
- if(delta == 0)
- break;
- }
- rfor(Rt)
- printf("%d",Rt[I]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement