53 {
54 for(unsigned short i = 1; i <= 3; i++) {
55 for(unsigned short j = 1; j <= 9; j++) {
56 if(j == i) {
57 continue;
58 }
59 for(unsigned short k = 1; k <= 9; k++) {
60 if(k == i || k == j || k * 2 % 10 == j || k * 2 % 10 == i || k * 3 % 10 == j || k * 3 % 10 == i || k == 5) {
61 continue;
62 }
63 const unsigned short num = 100 * i + 10 * j + k;
64 if(num > 333) {
65 continue;
66 }
67 unsigned short num2 = 2 * num;
68 unsigned short num3 = 3 * num;
69 auto um = unordered_set<unsigned short>();
70 um.insert(i);
71 um.insert(j);
72 um.insert(k);
73 unsigned short n = num2 % 10;
74
75 if(um.contains(n) || n == 0) {
76 continue;
77 }
78 um.insert(n);
79 num2 /= 10;
81 if(um.contains(n) || n == 0) {
82 continue;
83 }
84 um.insert(n);
85 num2 /= 10;
87 if(um.contains(n) || n == 0) {
88 continue;
89 }
90 um.insert(n);
91
93 if(um.contains(n) || n == 0) {
94 continue;
95 }
96 um.insert(n);
97 num3 /= 10;
99 if(um.contains(n) || n == 0) {
100 continue;
101 }
102 um.insert(n);
103 num3 /= 10;
105 if(um.contains(n) || n == 0) {
106 continue;
107 }
108 um.insert(n);
109 cout << num << " " << num * 2 << " " << num * 3 << endl;
110 }
111 }
112 }
113 return 0;
114 }