题目:用1,2,3……9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。
分析:上学期院里组织比赛的一道题,利用数组,a[1]~a[9]赋值为0,令a[出现的数字] = 1,若a[1] + a[2] + …… +a[9] == 9,则全部数字都出现。
源码:
[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
#include <stdio.h>
int main(){
int x,y,z;
int sum=0;
int a[11];
int i;
for(i=0;i<=9;i++){
a[i]=0;
}
a[i]='\0';
//printf("%d",a[9]);
for(x=100;x<333;x++){
y=2*x;
z=3*x;
a[x/100]=a[x/10%10]=a[x%10]=1;
a[y/100]=a[y/10%10]=a[y%10]=1;
a[z/100]=a[z/10%10]=a[z%10]=1;
for(i=1;i<10;i++){
sum+=a[i];
}
if(sum==9){
printf("%d %d %d\n",x,y,z);
}
sum=0;
for(i=0;i<=9;i++){
a[i]=0;
}
a[i]='\0';
}
return 0;
}