fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int arr[3][100];
  6. int six = 0, nine = 0, twenty = 0, j = 0;
  7. bool flag;
  8.  
  9. void f(int n)
  10. {
  11. flag = false;
  12. if (n == 0) {
  13. for (int i = 0; i < 100; i++)
  14. if (arr[0][i] == six &&
  15. arr[1][i] == nine &&
  16. arr[2][i] == twenty)
  17. flag = true;
  18. if (!flag) {
  19. cout << "6: " << six << endl;
  20. cout << "9: " << nine << endl;
  21. cout << "20: " << twenty << endl;
  22.  
  23. arr[0][j] = six;
  24. arr[1][j] = nine;
  25. arr[2][j] = twenty;
  26.  
  27. j++;
  28.  
  29. cout << endl;
  30. }
  31. } else {
  32. if (n % 6 == 0) {
  33. six++; f(n - 6); six--;
  34. }
  35. if (n % 9 == 0) {
  36. nine++; f(n - 9); nine--;
  37. }
  38. if (n % 20 == 0) {
  39. twenty++; f(n - 20); twenty--;
  40. }
  41. }
  42. }
  43.  
  44. int main()
  45. {
  46. f(54);
  47. cin.get();
  48. return 0;
  49. }
Success #stdin #stdout 0.01s 2728KB
stdin
Standard input is empty
stdout
6: 9
9: 0
20: 0

6: 6
9: 2
20: 0

6: 3
9: 4
20: 0

6: 0
9: 6
20: 0