主要思考:for循环遍历的区间是否真的有必要是 [1,999]?
代码如下:

#include<iostream>
using namespace std;

bool visit[10] ;
 
//判断是否所有的数字都取到了 
bool judge(){
	for (int i = 1;i<10;i++){
		if (!visit[i])
			return false;
	}
	return true;
}

int main(){	
	for (int i = 101;i<329;i++){		
		//每次重置 
		for (int k = 1;k<10;k++){
			visit[k] = 0;
		}
		int m,n;
		for (int j = 1;j<4;j++){
			m = i*j;
			while(m){
				n = m%10;
				visit[n] = 1;
				m=m/10;
			}
		}
		//注意这里的judge()需要带括号,否则会直接按照return true处理 
		if (judge())
			cout << i <<" "<< i*2 <<" " <<i *3 <<"\n";	
	}	
}