Advertisement
a53

descfib

a53
Jan 12th, 2022
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3.  
  4. ifstream cin ("descfib.in");
  5. ofstream cout ("descfib.out");
  6.  
  7.  
  8. int X[10001], P[10001], n, cnt[10001];
  9.  
  10. int fib[10001];
  11.  
  12. void afisare (int k)
  13. {
  14. for (int i = 1; i <= k; i++)
  15. cout << fib[X[i]] << ' ';
  16. cout << "\n";
  17. }
  18.  
  19. void back (int k, int s)
  20. {
  21. for (int i = X[k - 1] + 1; fib[i] <= n - s; i++) {
  22. X[k] = i;
  23. P[i] = 1;
  24. s += fib[i];
  25.  
  26. if (s <= n)
  27. {
  28. if (s == n)
  29. afisare(k);
  30. else back (k + 1, s);
  31. }
  32.  
  33. s -= fib[i];
  34. }
  35. }
  36.  
  37. int main()
  38. {
  39. cin >> n;
  40. X[0] = 1;
  41. fib[1] = 1;
  42. cnt[1]++;
  43. fib[2] = 1;
  44. for (int i = 3; i <= 40; i++) {
  45. fib[i] = fib[i - 1] + fib[i - 2];
  46. }
  47. back (1, 0);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement