- 主题:一道奥数题,求解。网上有答案但不对。
原封不动的原题记不得了。但意思是一样的:
三个自然数的乘积,等于10的6次方。如果将这三个自然数组成有序数组,这样的数组有多少个?
我不会数学解法,只能代码暴力循环得答案。
--
FROM 101.230.218.*
最终结果不对,我是用程序穷举出来的。另外这个做法有覆盖不到的情况,三个自然数中有两个自然数的因子都包含2和5,这个做法限定了只有一个自然数同时包含2和5
--
FROM 101.230.218.*
这是网上的解答,但是和我穷举出来的不一样。我用程序循环穷举是139个。由abc =10的6次方,设a=2^a1*5^b1,b=2^a2*5^b2,c=2^a3*5^b3,那么a1+a2+a3=6,b1+b2+b3=6.满足a1十a2十a3=6 的非负整数解(a1,a2,a3)共有8X7=28组。所以,满足条件的(a,b,c)共有 28*28=784 组
--
FROM 101.230.218.*
有序对啥意思? 我穷举的思路,例如1,1000,1000是其中一个组合,但1000,1,1000是和1,1000,1000重复的,这两个只算一个。
--
FROM 101.230.218.*
1*1*1000000==1000000
1*2*500000==1000000
1*4*250000==1000000
1*5*200000==1000000
1*8*125000==1000000
1*10*100000==1000000
1*16*62500==1000000
1*20*50000==1000000
1*25*40000==1000000
1*32*31250==1000000
1*40*25000==1000000
1*50*20000==1000000
1*64*15625==1000000
1*80*12500==1000000
1*100*10000==1000000
1*125*8000==1000000
1*160*6250==1000000
1*200*5000==1000000
1*250*4000==1000000
1*320*3125==1000000
1*400*2500==1000000
1*500*2000==1000000
1*625*1600==1000000
1*800*1250==1000000
1*1000*1000==1000000
2*2*250000==1000000
2*4*125000==1000000
2*5*100000==1000000
2*8*62500==1000000
2*10*50000==1000000
2*16*31250==1000000
2*20*25000==1000000
2*25*20000==1000000
2*32*15625==1000000
2*40*12500==1000000
2*50*10000==1000000
2*80*6250==1000000
2*100*5000==1000000
2*125*4000==1000000
2*160*3125==1000000
2*200*2500==1000000
2*250*2000==1000000
2*400*1250==1000000
2*500*1000==1000000
2*625*800==1000000
4*4*62500==1000000
4*5*50000==1000000
4*8*31250==1000000
4*10*25000==1000000
4*16*15625==1000000
4*20*12500==1000000
4*25*10000==1000000
4*40*6250==1000000
4*50*5000==1000000
4*80*3125==1000000
4*100*2500==1000000
4*125*2000==1000000
4*200*1250==1000000
4*250*1000==1000000
4*400*625==1000000
4*500*500==1000000
5*5*40000==1000000
5*8*25000==1000000
5*10*20000==1000000
5*16*12500==1000000
5*20*10000==1000000
5*25*8000==1000000
5*32*6250==1000000
5*40*5000==1000000
5*50*4000==1000000
5*64*3125==1000000
5*80*2500==1000000
5*100*2000==1000000
5*125*1600==1000000
5*160*1250==1000000
5*200*1000==1000000
5*250*800==1000000
5*320*625==1000000
5*400*500==1000000
8*8*15625==1000000
8*10*12500==1000000
8*20*6250==1000000
8*25*5000==1000000
8*40*3125==1000000
8*50*2500==1000000
8*100*1250==1000000
8*125*1000==1000000
8*200*625==1000000
8*250*500==1000000
10*10*10000==1000000
10*16*6250==1000000
10*20*5000==1000000
10*25*4000==1000000
10*32*3125==1000000
10*40*2500==1000000
10*50*2000==1000000
10*80*1250==1000000
10*100*1000==1000000
10*125*800==1000000
10*160*625==1000000
10*200*500==1000000
10*250*400==1000000
16*20*3125==1000000
16*25*2500==1000000
16*50*1250==1000000
16*100*625==1000000
16*125*500==1000000
16*250*250==1000000
20*20*2500==1000000
20*25*2000==1000000
20*40*1250==1000000
20*50*1000==1000000
20*80*625==1000000
20*100*500==1000000
20*125*400==1000000
20*200*250==1000000
25*25*1600==1000000
25*32*1250==1000000
25*40*1000==1000000
25*50*800==1000000
25*64*625==1000000
25*80*500==1000000
25*100*400==1000000
25*125*320==1000000
25*160*250==1000000
25*200*200==1000000
32*50*625==1000000
32*125*250==1000000
40*40*625==1000000
40*50*500==1000000
40*100*250==1000000
40*125*200==1000000
50*50*400==1000000
50*80*250==1000000
50*100*200==1000000
50*125*160==1000000
64*125*125==1000000
80*100*125==1000000
100*100*100==1000000
139
--
FROM 101.230.218.*
啊? 有序数组,按字面理解,就是数组里面的元素是按大小排好序。
那退一步讲,这个题如果题目是问,有几种组合的话,除了穷举,有优雅一点的解法吗。
【 在 lihanjie497 的大作中提到: 】
: 有序对的意思就是,1,1000,1000和1000,1,1000算两个,因为这两组数的顺序不一样
:
--
FROM 101.230.218.*