本人思想:分离出各位数字,并在数组中标志为1。
#include<iostream>
using namespace std;
int main()
{
for(int i=123;i<330;i++)
{
if(i%10==0||((i/10)%10==0))continue;
int a[10]={0};
if(((i%10)!=i/100)&&(i/100)!=((i/10)%10)&&((i%10)!=((i/10)%10)))
{
a[i%10]=1;
a[i/100]=1;
a[(i/10)%10]=1;
int b=i*2;
if(((b%10)!=b/100)&&(b/100)!=((b/10)%10)&&((b%10)!=((b/10)%10))&&a[b%10]!=1&&a[b/100]!=1&&a[(b/10)%10]!=1&&(b%10)!=0&&((b/10)%10!=0))
{
a[b%10]=1;
a[b/100]=1;
a[(b/10)%10]=1;
int c=i*3;
if(((c%10)!=c/100)&&(c/100)!=((c/10)%10)&&((c%10)!=((c/10)%10)&&a[c%10]!=1&&a[c/100]!=1&&a[(c/10)%10]!=1)&&(c%10!=0)&&((c/10)%10!=0))
{
cout<<i<<" "<<b<<" "<<c<<endl;
}
else continue;
}
else continue;
}
else continue;
}
}
程序运行结果: