Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream cin ("descfib.in");
- ofstream cout ("descfib.out");
- int X[10001], P[10001], n, cnt[10001];
- int fib[10001];
- void afisare (int k)
- {
- for (int i = 1; i <= k; i++)
- cout << fib[X[i]] << ' ';
- cout << "\n";
- }
- void back (int k, int s)
- {
- for (int i = X[k - 1] + 1; fib[i] <= n - s; i++) {
- X[k] = i;
- P[i] = 1;
- s += fib[i];
- if (s <= n)
- {
- if (s == n)
- afisare(k);
- else back (k + 1, s);
- }
- s -= fib[i];
- }
- }
- int main()
- {
- cin >> n;
- X[0] = 1;
- fib[1] = 1;
- cnt[1]++;
- fib[2] = 1;
- for (int i = 3; i <= 40; i++) {
- fib[i] = fib[i - 1] + fib[i - 2];
- }
- back (1, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement