求一个数所有因子的集合的子集中满足所有数均互质的最大子集

发布时间 2023-05-25 20:30:13作者: 根尘

题意:

很明显了,就是把数 n 的所有因子求出来,在里面挑选一些数,使这些数之间均互质,求这些的最大个数。

结论:

先讲结论:最大个数为数 n 的质因数个数加1

思路:

我们已知一个数的质因数,就可以把这个数表示成若干质因数的乘积,例如:

12 = 2 * 2 * 3;其中2,3是12的质因数,表达式中2的个数是2,3的个数是1。

那么我们有下面的表格,上面是质因数,下面是表达式中质因数的个数:

2 3
2 1

 

 

根据表格,我们可以得到 12 所有因子的表达式:

1*2  1*3  1*2*2  1*2*3  1*2*2*3 ,即2  3  4  6  12

4和6是由2分别乘2和3的到的,2,3都是质数

12是由4乘3得到的,如果2的个数是3不是2,那么因子应该还有1*2*2*2,它是由4乘2的到的;

其中 2和3互质,4和6互质,而4,6都是由2,3得到的,所以4,6不可能与2,3互质,同理4,6后面的数也都是由4,6得到的,所以后面的数不会和前面的数互质,因此每两个数互质。

这里,不难发现决定每几个数互质的是该数的质因数个数,但是1与所有自然数互质,因此还要加上1,结论就是 n 的质因数个数加1.