我的AC:
```cpp
#include<iostream>
#include<map>
using namespace std;
bool is_zero(int n) {
int first_num = n % 10;
int final_num = n / 100;
int second_num = (n / 10) % 10;
if (first_num == 0 || second_num == 0) {
return true;
}
if(final_num == second_num || final_num == first_num || second_num == first_num) {
return true;
}
return false;
}
int main() {
for(int i = 123; i <= 329; i++) {
int flag = 0;
int flag_1 = 0;
int flag_2 = 0;
map<int, int>num;
if(!is_zero(i)) {
int first_num = i % 10;
int final_num = i / 100;
int second_num = (i / 10) % 10;
num[first_num] = first_num;
num[final_num] = final_num;
num[second_num] = second_num ;
flag = 1;
}
if(!is_zero(i * 2)) {
int first_num = i * 2 % 10;
int final_num = i * 2 / 100;
int second_num = (i * 2 / 10) % 10;
if(num.count(first_num) == 0 && num.count(final_num) == 0 && num.count(second_num) == 0) {
flag_1 = 1;
num[first_num] = first_num;
num[final_num] = final_num;
num[second_num] = second_num ;
}
}
if(!is_zero(i * 3)) {
int first_num = i * 3 % 10;
int final_num = i * 3 / 100;
int second_num = (i * 3 / 10) % 10;
if(num.count(first_num) == 0 && num.count(final_num) == 0 && num.count(second_num) == 0) {
flag_2 = 1;
}
}
if(flag == 1 && flag_2 == 1 && flag_1 == 1) {
cout << i << " " << i * 2 << " " << i * 3 << endl;
}
}
}
```
by Weizhuo_Zhao @ 2023-07-02 21:09:19
两种:
①:
```cpp
#include <iostream>
using namespace std;
int main(){
for(int i=123;i<=333;i++){
int a=i,b=2*i,c=3*i;
int _check[10]={0};
int _a=a,_b=b,_c=c;
for(int ix=0 ; ix<3 ; ix++,_a/=10,_b/=10,_c/=10){
_check[_a%10]++;
_check[_b%10]++;
_check[_c%10]++;
}
bool r=true;
for(int m=0;m<10;m++){
if(_check[m]>=2){
r=false;
}
if(_check[0]>=1){
r=false;
}//忽略0
}
if(r){
cout<<a<<" "<<b<<" "<<c<<endl;
}
}
return 0;
}
```
②:
```cpp
#include <iostream>
int main()
{
for (int i = 123; i <= 333; i++)
{
int a = i, b = 2 * i, c = 3 * i;
int _a = a, _b = b, _c = c;//不能直接a/10,a,b,c会直接被除到0
int _check[10] = { 0 };
for (int j = 0; j < 3; j++)
{
_check[a % 10] = 1;
a /= 10;
_check[b % 10] = 1;
b /= 10;
_check[c % 10] = 1;
c /= 10;
}
bool r = true;
for (int m = 1; m <= 9; m++)
{
if (_check[m] == 0)
{
r = false;
}
}
if (r)
{
std::cout << _a << ' ' << _b << ' ' << _c << std::endl;
}
}
//懒得缩进+同化.jpd
return 0;
}
```
by Mirrol @ 2023-08-21 16:01:35