1
0
1
方法1:
定义 数组a[500],j1,j2,j3,s; 循环 (int i从123循环到329) { 循环 (int j从1循环到9) { a[j]赋值0; } j1赋值i;j2赋值i×2;j3赋值i×3; 循环 (int j从1循环到3) { a[j1求余10]赋值1; a[j2求余10]赋值1; a[j3求余10]赋值1; j1÷等于10; j2÷等于10; j3÷等于10; } s赋值0; 循环 (int j从1循环到9) s加等于a[j]; 判断(如果s等于9) 输出i"空格"i×2"空格"i×3 换行; }
方法2:
直接输出:
192 384 576
219 438 657
273 546 819
327 654 981
1
核心
for(int i=123;i<=987/3;i++){
int x=i*2,y=i*3;
memset(a,0,sizeof(a));
a[i%10]++;
a[i%100/10]++;
a[i/100]++;
a[x%10]++;
a[x%100/10]++;
a[x/100]++;
a[y%10]++;
a[y%100/10]++;
a[y/100]++;
bool f=false;
for(int j=1;j<=9;j++){
if(a[j]!=1){
f=true;
break;
}
}
if(!f) cout<<i<<" "<<x<<" "<<y<<endl;
}
0
核心函数:
void Func(int x){
a[x%10]++;
a[x/10%10]++;
a[x/100]++;
}
bool Judge(){
for(int i=1;i<=9;i++){
if(a[i]!=1)
return false;
}
return true;
}
主函数自己想,一个个枚举
0
cout<<192<<" "<<384<<" "<<576<<endl<<219<<" "<<438<<" "<<657<<endl<<273<<" "<<546<<" "<<819<<endl<<327<<" "<<654<<" "<<981;
0