急求C语言程序:将1,2,3,4,5,6,7,8,9共9个数分成三组,组成3个三位数,且使这3个三
急求C语言程序:将1,2,3,4,5,6,7,8,9共9个数分成三组,组成3个三位数,且使这3个三位数构成1:2:3的比例,例如:3个三位数192,384,576满足以上...
急求C语言程序:将1,2,3,4,5,6,7,8,9共9个数分成三组,组成3个三位数,且使这3个三位数构成1:2:3的比例,例如:3个三位数192,384,576满足以上条件.192:384:576=1:2:3。试求出所有满足条件的3个三位数。 真的没办法了
展开
1个回答
展开全部
int check(int a,int b,int c)
{
int test[9]={0},i;
long num = a*1000000+b*1000+c;
if(b>1000 || c>1000)return 0;//确保是三位数
for(i = 0;i < 10;i++)
{
int temp = num%10;
num/=10;
temp--;
if(test[temp] == 0)
{
test[temp] = 1;
}
else return 0;
}
return 1;
}
int main()
{
int i,j,k;
int num;
for(i = 1;i < 10;i++)
{
for(j =1;j < 10;j++)
{
if(i!=j)
{
for(k = 1; k < 10;k++)
{
if(k!=j)
{
num = i+j*10+k*100;
if(check(num,num*2,num*3)){
printf("%d %d %d\n",num,num*2,num*3);
}
}
}
}
}
}
return 0;
}
上面刚写的,实现思路:先把所有三位数找出来(并且三位数不能相同),上面代码的关键在check方法,我先把它传递进来的三个数据进行检查,因为传递过来的时候就是构成1:2:3的比例,我现在就是要检查是否是从1到9所有数字都有并且不重复(不懂就追问。)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询