我先用暴力过的,然后就去看题解,大概明白了第二篇题解的思路(有那么一点桶排的味道),然后自己打了一下下
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
using namespace std;
int tot=0,a[10];
int j,k,i;
int main(){
for(int b=1;b<=10;b++){
a[b]=0;
}
for(int i=123;i<=327;i++){
j=2*i;
k=3*i;
a[i%10]=a[i/10%10]=a[i/100]=a[j%10]=a[j/10%10]=a[j/100]=a[k%10]=a[k/10%10]=a[k/100]=1;
for(int y=1;y<=9;y++){
tot+=a[y];
}
if(tot==9) printf("%d %d %d\n",i,j,k);
}
return 0;
}
However。。。。毛也没有输出。。。。。
然后发现是for循环清零的问题,用memset函数(题解方法)就可以,想问是为什么???