v 0. Pasted by slipstak2 as cpp at 2010-11-29 17:02:52 MSK and set expiration to never.

Paste will expire never.

  1. // Меньшиков. Тренировка 7.
  2. // 7А. Упорядоченные дроби [ordfrac]
  3. // На основе ряда Фарея
  4. // ibelyaev: 24Nov2010
  5. #include <iostream>
  6. #include <cstdio>
  7. #include <vector>
  8. #include <cstring>
  9. #include <string.h>
  10. #include <algorithm>
  11. #include <stack>
  12. #include <queue>
  13.  
  14. using namespace std;
  15.  
  16. int n;
  17. void input()
  18. {
  19.     cin>>n;
  20. }
  21. void find_fractions(int chLeft, int znLeft, int chRight, int znRight)
  22. {
  23.     if (znLeft > n || znRight >n)
  24.         return;
  25.     int chMiddle = chLeft + chRight;
  26.     int znMiddle = znLeft + znRight;
  27.     find_fractions(chLeft, znLeft, chMiddle, znMiddle);
  28.     if (znMiddle <=n)
  29.         printf("%d/%d\n",chMiddle, znMiddle);
  30.     find_fractions(chMiddle,znMiddle, chRight, znRight);
  31. }
  32. void solve()
  33. {
  34.     find_fractions(0,1,1,1);
  35. }
  36. int main()
  37. {
  38.     freopen("input.txt","r",stdin);
  39.     freopen("output.txt","w",stdout);
  40.    
  41.     input();
  42.     solve();
  43.     return 0;
  44. }


Editing is locked.