racketeering:数学高手进

来源:百度文库 编辑:高考问答 时间:2024/04/28 21:49:23
设T是由60^100的所有正因数组成的集合。S是t的一个子集,其中没有以个数是另一个数的倍数,求S元素个数的最大值?
请解答得详细一点

楼上jimddr的已经接近正确答案了。
60^100=2^200*3^100*5^100
T的元素就是所有的t(a,b,c)=2^a*3^b*5^c,(a=0,1,...,200;b=0,1,...,100;c=0,1,...,100;)(jimddr注意不要写成区间,这里只能取非负整数的。)
首先容易知道,如果t(a1,b1,c1)≠t(a2,b2,c2),且a1+b1+c1=a2+b2+c2,则t(a1,b1,c1)和t(a2,b2,c2)肯定没有一个是另一个的倍数,所以可以同时存在。
然后可以判断,如果S中已经取了所有的满足a+b+c=M的t(a,b,c),则只要再增加任何一个数,必然会是某个数的倍数或者因数。
从而,要想使S元素个数最大,必须取完而且只取满足a+b+c=M的t(a,b,c),下一步就是最后判断哪个M会使得S元素个数最多。
也就是求a+b+c=M在M取何值时满足a≤200,b≤100,c≤100的非负整数解个数最多。
当0≤M≤100时,解个数为1+2+...+M+(M+1)
当100<M≤200时,解个数为1+2+...+100+101+100+99+...+(200-M+1)
当M>200时,容易知道解个数会逐渐减少。事实上可以证明M1+M2=400时两个对应的解个数相等。
所以当M=200时解个数最多,为1+2+...+100+101+100+99+...+2+1=10201
答案就是10201。

这个问题有点意思

事实上,对于任意自然数N,60^N=(2^2N)*(3^N)*(5^N)
那么,T={(2^a)*(3^b)*(5^c)},其中a∈[0,2N],b、c∈[0,N]

现假设t(a,b,c)=(2^a)*(3^b)*(5^c),其中a∈[0,2N],b、c∈[0,N]
是S中的一个元素

那么显然,任何只改变a,b,c中的一个所得到的数,都不能成为S的另一个元素。
所以只能是同时改变a,b,c中的两个数,而且这两个数不能同时变大或者变小。

这么考虑下来,关于S元素个数最大值,可以归结为求a+b+c=N的解的个数。
不难算出个数为1+2+…+N+(N+1)

对于N=100的情况,得到的答案是5151

今天早上又想到这个问题时,发现我的解答有问题,没想周全。
angelicsk的解是对的。
另外,区间也可以表达非负整数,不过我忘了写a、b、c∈Z
这些是初中知识,好多年没碰了,呵呵。

首先:楼上的匿名者垃圾啊

回答:3个.接着一楼的思路,t的实质是求60^100的质因数,这是因为非质因数都会等于至少两个非质因数的积,而这两个非质因数也是60^100的因数,故非质因数都会是另外一个因数的倍数,不在t的范围之内.60^100等于200个2,100个3,100个5共400个数相乘,只有2,3,5三个质因数,根据集合的概念,元素是不能重复的,故t里面最多有3个元素.

60^100=2^100 * 3^100 * 5^100
设S={m1,m2,m3, ... ,mn}
m1=2^p1 * 3^q1 * 5^r1
m2=2^p2 * 3^q2 * 5^r2
......
mn=2^pn * 3^qn * 5^rn
(0<= p,q,r <=100)
如果pi>=pj,qi>=qj,ri>=rj,那么mj是mi的约数(1<= i,j <=n)
当p=0,1,2,3, ... ,100
对应q=100,99,98, ... ,0时(qi=100-pi),
mi,mj之间不会有倍数关系(i,j不等),
此时r取0至100的任意值,maxn=101

60=2*2*3*5
60^100=2^200*3^100*5^100
我只能想到这一步了.