#include<iostream>
using namespace std;
void split(int num,char *a,char *b,char *c)
{
*a=num/100+'0';
*b=num/10%10+'0';
*c=num%10+'0';
}
char fig[9];
bool isDifferent(void)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
if(i==j)
{
continue;
}
if(fig[i]==fig[j]||fig[i]=='0')
{
return 0;
}
}
}
return 1;
}
int main()
{
for(int i=100;i<=333;i++)
{
int j,k;
j=i+i;
k=j+i;
split(i,fig,fig+1,fig+2);
split(j,fig+3,fig+4,fig+5);
split(k,fig+6,fig+7,fig+8);
if(isDifferent())
{
cout<<i<<' '<<j<<' '<<k<<endl;
}
}
}
#include <stdio.h>
int main(int argc, char *argv[])
{
int a,b,c,s[9],i,j;
for(a=100;a<333;a++)
{
b=2*a;
c=3*a;
s[0]=a%10;s[1]=a%100 /10;s[2]=a/100;
s[3]=b%10;s[4]=b%100 /10;s[5]=b/100;
s[6]=c%10;s[7]=c%100 /10;s[8]=c/100;
for(i=0;i<8;i++)
{
for(j=i+1;j<9;j++)
{
if(s[i]==s[j])
{
break;
}
}
if(j<9)
break;
}
if((i==8) &&(j==9) && a!=267)
{
printf("%-4d%-4d%d\n",a,b,c);
}
}
return 0;
}
http://www.luogu.org/problem/show?pid=1008