这题的话需要注意一下稍微加点优化,别裸遍历所有的三位数就好。。。
#include <cstring>
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iomanip>
using namespace std;
int visit[10];
void visitNum(int x) {
visit[x%10]++;
visit[x/10%10]++;
visit[x/100]++;
}
bool check() {
for(int i = 1; i < 10; i++) {
if(visit[i] != 1) {
return false;
}
}
return true;
}
int main() {
int a, b, c;
for(a = 123; a < 400; a++) {
memset(visit, 0, sizeof visit);
b = a * 2;
c = a * 3;
visitNum(a);
visitNum(b);
visitNum(c);
if(check()) {
cout << a << " " << b << " " << c << endl;
}
}
return 0;
}