用1~9组成3个三位数,每个数字使用一次使得abc:def:ghi=1:2:3,输出所有解c 用1,2,……9组成三个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:输出所有解

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/21 11:36:33
用1~9组成3个三位数,每个数字使用一次使得abc:def:ghi=1:2:3,输出所有解c用1,2,……9组成三个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:

用1~9组成3个三位数,每个数字使用一次使得abc:def:ghi=1:2:3,输出所有解c 用1,2,……9组成三个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:输出所有解
用1~9组成3个三位数,每个数字使用一次使得abc:def:ghi=1:2:3,输出所有解
c 用1,2,……9组成三个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:输出所有解

用1~9组成3个三位数,每个数字使用一次使得abc:def:ghi=1:2:3,输出所有解c 用1,2,……9组成三个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:输出所有解
abc:def:ghi
138:276:414
139:278:417
143:286:429
148:296:444
1⑥4:328:492
176:352:528
178:356:534
179:358:537
182:364:546
186:372:558
192:384:576
218:436:654
219:438:657
238:476:714
239:478:717
273:546:819
293:586:879
314:628:942
327:654:981
329:658:987
又补充了提问.我就不贴代码了.算法思路就是
从i = 123到i = 987/3 做循环
{
算出i*2、i*3的值
把这三个数的各位共9个数字,加上一个0,放入一长度为10的数组.
设置一个布尔值 = 1
从 k = 0 到 9循环
{
设置一个值F=0
从数组1到10循环
{
某位 == k,则F=F+1
如果F = 2,跳出该循环
}
如果F = 2,布尔值=0,跳出循环
}
如果布尔值 = 1,这个i符合,按格式输出i、i*2、i*3
}

176:352:528 178:356:534 186:372:558 192:384:576 179:358:537 182:364:546

用1,2,3,……9组成三个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解
138:276:414
139:278:417
143:286:429
148:296:444

#include "stdafx.h"
#include
#include
int a[9],flag=0;
int _tmain(int argc, _TCHAR* argv[])
{
for(int i=123;i<=329;i++)
{
flag=0;
a[0]=i/100;<...

全部展开

#include "stdafx.h"
#include
#include
int a[9],flag=0;
int _tmain(int argc, _TCHAR* argv[])
{
for(int i=123;i<=329;i++)
{
flag=0;
a[0]=i/100;
a[1]=i/10%10;
a[2]=i%10;
a[3]=i*2/100;
a[4]=i*2/10%10;
a[5]=i*2%10;
a[6]=i*3/100;
a[7]=i*3/10%10;
a[8]=i*3%10;
for(int j=0;j<9;j++)
for(int k=j+1;k<9;k++)
if(a[j]==a[k])
{
 flag=1;
 break;
}
if(flag==0)printf("%d %d %d\n",i,i*2,i*3);
}
printf("Time used=%.21f\n",(double)clock()/CLOCKS_PER_SEC);
return 0;
}
楼上的前半部分的思路是对的,后面可能出现了问题,正确答案是这9个数都不能相同。
我测试了一下和算法竞赛入门经典的习题答案,发现本答案运行时间远小于。

收起

用1~9组成3个三位数,每个数字使用一次使得abc:def:ghi=1:2:3,输出所有解c 用1,2,……9组成三个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:输出所有解 将1-9这9个数字分成三组(每个数字只能使用一次)将1-9这9个数字分成三组(每个数字只能使用一次),分别组成三个三位数,且这三个三位数的值构成1:2:3的比例,试求出所有满足条件的三个三 组数 用free pascal解决---只准用!将1~9这9个数字分成3组(每个数字只能使用一次),分别组成3个三位数,且这3个三位数的值构成1:2:3的比例,试求出所有满足条件的3个三位数.急要求有解释,务 将1-9这9个数子分成三组(每个数字只能使用一次),分别组成三个三位数,值构成1:2:3的比例用TC或C将1-9这9个数子分成三组(每个数字只能使用一次),分别组成三个三位数,且这三个三位数 用0、3、7、9四个数字,能组成多少个不同的三位数?(在一个三位数中,每个数字只能用一次) 将1~9这9个数字分成三组(每个数字只能用一次),分别组成三位数,且这三个三位数的值构成1:2:3的比例.将1~9这9个数字分成三组(每个数字只能用一次),分别组成三位数,且这三个三位数的 用1,2,3,4,5,6,7,8,9,〔每个数字用一次〕组成三个三位数,且每个三位数均能被9整除 用1到9组成3个三位数(每个数字只能用一次),使其中两个数的和等于第三个数 用1到9组成3个三位数(每个数字只能用一次),使其中两个数的和等于第三个数 这个思想怎么来的呀? 用0——9中的9个数字组成3个三位数(每个数字只能用一次),使其中两个数的和等于第三个数? 用1-9这9个数组成三个三位数,每个数字只能使用一次,使这三个三位数相乘的积尽可能的大,这三个三位数从小到大依次是几? 用1,2,3,4,5,6,7,8,9这9个数字组成3个三位数(每个数字只用一次),使其中最大的三位数被3除余2,并且尽可能的小;次大的三位数被3除余1;最小的三位数能被3整除.那么,最大的三位数是多少? 1-9这9个数字组成1个3位数减3位数,差等于3位数的算是吗(每个数字只能用一次)谁能把1-9这九个数字(每个数字只能用一次)组成一个三位数减三位数,差等于三位数的算是吗 用1~9这9个数字(每个数字只能用一次)组成一个三位数减三位数,差也是三位数的算式吗?你们两个是不是互抄的啊? 小学奥数(0-8这9个数字,每个数字刚好用一次,组成3个三位数,使得其中有2的倍数,3的倍数,4的倍数0-8这9个数字,每个数字刚好用一次,组成3个三位数,使得其中有2的倍数,3的倍数,4的倍数,.16的倍 用1、2、3、4、5、6、7、8、9九个数字组成三个三位数(每个数字只能用一次),使第二个数字是第一个数的2倍,第三个数是第一个数的3倍. 用1到9这9个数字组成3个三位数(每个数都要用到),每个三位数都是4的倍数.这3个三 将1-9这9个数子分成三组(每个数字只能使用一次),分别组成三个三位数,值构成1:2:3的比例用c++