排列(permutation) 算法竞赛入门经典 习题2-10

用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解。提示:不必太动脑筋。

 1 #include <cstdio>
 2 #include <cstring>
 3 using namespace std;
 4 
 5 int main(){
 6     int array[10];
 7     for(int abc=100;abc<333;abc++){
 8         int def=2*abc,ghi=3*abc;
 9         memset(array,0,sizeof(array));
10         array[abc/100]=array[abc/10%10]=array[abc%10]
11         =array[def/100]=array[def/10%10]=array[def%10]
12         =array[ghi/100]=array[ghi/10%10]=array[ghi%10]=1;
13 
14         int i=0;
15         while(++i<10&&array[i]);
16         if(i==10)
17             printf("%d %d %d
",abc,def,ghi);    
18     }
19     return 0;
20 }
原文地址:https://www.cnblogs.com/purgiant/p/3185771.html