数字分组(NOIP1998初中组复赛第一题)将1,2,...,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数.例如:192、384、576这三个三位数是满

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 01:38:27
数字分组(NOIP1998初中组复赛第一题)将1,2,...,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数.例如:192、384、576这三个三位数是满

数字分组(NOIP1998初中组复赛第一题)将1,2,...,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数.例如:192、384、576这三个三位数是满
数字分组(NOIP1998初中组复赛第一题)
将1,2,...,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数.
例如:192、384、576这三个三位数是满足以上条件的

数字分组(NOIP1998初中组复赛第一题)将1,2,...,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数.例如:192、384、576这三个三位数是满
192 -384 -576
219 -438- 657
273 -546 -819
327- 654 -981

上面的太强了,他们考试是不可以带电脑的!!!
从个位开始一个个排除还是可以做的

首先从个位数来考虑:
**1,**2,**3
**2,**4,**6
**3,**6,**9
**4,**8,**(12)=*(*+1)2
**5,**0(1-9中没有0,舍去)
**6,**(12),**(18)
**7,**(14),**(21)
**8,**(16),**(24)
**9,**(18),**(27)

全部展开

首先从个位数来考虑:
**1,**2,**3
**2,**4,**6
**3,**6,**9
**4,**8,**(12)=*(*+1)2
**5,**0(1-9中没有0,舍去)
**6,**(12),**(18)
**7,**(14),**(21)
**8,**(16),**(24)
**9,**(18),**(27)
简单的说:三个三位数的尾数要满足的应该是
1,2,3或2,4,6或3,6,9或4,8,2或6,2,8或7,4,1或8,6,4或9,8,7……(*)
接下来就是一个一个考率了:
对于1,2,3.它的十位数也应该满足(*)(但是应该没有1,2,3这些数字)
剩下8,6,4或9,8,7分别代入一下,明显是不行的.
对于2,4,6它的十位数也要满足(*)但是没有2,4,6三个数字.
741或是987,分别代入就得到:192,384,576
对于3,6,9.它的十位数满足(*)(不包含369)
246或741,分别带入得到:273,546,819
*********************到这里为止三个用的是同样道理
对于4,8,12≈4,8,2的.
它的十位数应该是第三个的十位数-1,然后三个数的十位数也会满足(*)
并且不包含482三个数字,接下去也是同样的道理:
.........
经过一番计算后就可以得到满足条件的数字分别是:
192,384,576
273,546,819
327,654,981
219,438,657

收起

设这三个数为x,2x,3x。则x+2x+3x≡1+2+……+9≡0(mod9)所以9整除6x,3整除x。3x的数字和为9或18.
若为9,则3x=612,621,531,513,423,432,342,324,315,351.经检验无符合条件的数。
若为18,则3x=981,972,963,954,945,936,927,918,891,873,864,846,837,819,79...

全部展开

设这三个数为x,2x,3x。则x+2x+3x≡1+2+……+9≡0(mod9)所以9整除6x,3整除x。3x的数字和为9或18.
若为9,则3x=612,621,531,513,423,432,342,324,315,351.经检验无符合条件的数。
若为18,则3x=981,972,963,954,945,936,927,918,891,873,864,846,837,819,792,783,765,756,738,729,693,684,675,657,648,639,594,576,567,549,495,486,468,459,396,387,378,369.经检验981,819,576,657符合条件。
所以共有4组:327,654,981;273,546,819;219,438,657;192,384,576.

收起

192,384,576
219,438,657
273,546,819
327,654,981
main()
{
int i,j,k,h,s;
int a[10];
for(i=123;i*3<=987;i++)
{
for(h=1;h<10;h++)
a[h]=0;
a[i/10...

全部展开

192,384,576
219,438,657
273,546,819
327,654,981
main()
{
int i,j,k,h,s;
int a[10];
for(i=123;i*3<=987;i++)
{
for(h=1;h<10;h++)
a[h]=0;
a[i/100]=1;
a[i/10%10]=1;
a[i%10]=1;
j=i*2;
a[j/100]=1;
a[j/10%10]=1;
a[j%10]=1;
k=i*3;
a[k/100]=1;
a[k/10%10]=1;
a[k%10]=1;
for(s=0,h=1;h<10;h++)
s=s+a[h];
if(s==9)
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
}

收起