排列

本文探讨了如何利用1到9这9个数字,形成三个三位数,使其比例为1:2:3的问题。通过遍历算法寻找所有可能的组合,并确保每个数字仅使用一次。该问题挑战了数学逻辑与编程技巧的结合。

描述
用 1~9 这 9 个数字组成 3 个三位数 abc,def 和 ghi,要求每个数字恰好使用一次,
且 abc:def:ghi=1:2:3。
输入
无。
输出
输出所有可能的解,每行输出一组,整数之间以空格隔开。
样例输入

样例输出
192 384 576
……
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g,h,i;
for(a=1;a<10;a++)
for(b=1;b<10;b++)
for(c=1;c<10;c++)
for(d=1;d<10;d++)
for(e=1;e<10;e++)
for(f=1;f<10;f++)
for(g=1;g<10;g++)
for(h=1;h<10;h++)
for(i=1;i<10;i++)
{
if(ab||ac||ad||ae||af||ag||ah||ai||bc||bd||be||bf||bg||bh||bi||cd||ce||cf||cg||ch||ci||de||df||dg||dh||di||ef||eg||eh||ei||fg||fh||fi||gh||gi||hi) continue;
else if((a100+b10+c)2==d100+e10+f&&(a100+b10+c)3==g100+h10+i)
printf("%d %d %d\n",a100+b10+c,d100+e10+f,g100+h10+i);
else break;
}
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值