用1.2....9,这九个数字,组成三个三位数,要求每个数字只能用一次,而且,三个数字成比例,1:2:3
下面是代码
#include<stdio.h>
int main()
{
int i,x,y,z,a,b,c;
for(i = 123;i < 329; i++)
{
x = i;
int f[10] = {0},flag = 0;
y = 2*x;
z = 3*x;
a = x;
b = y;
c = z;
while(x)
{
if(f[x%10])
{
flag = 1;
break;
}
else
f[x%10] = 1;
x /= 10;
}
if(flag)
continue;
while(y)
{
if(f[y%10])
{
flag = 1;
break;
}
else
f[y%10] = 1;
y /= 10;
}
if(flag)
continue;
while(z)
{
if(f[z%10])
{
flag = 1;
break;
}
else
f[z%10] = 1;
z /= 10;
}
if(flag)
continue;
printf("%d %d %d\n",a,b,c);
}
return 0;
}
感言,做ACM有时候要冷静冷静再继续,要不会再小的误区给憋死....