首页 > 其他分享 >求一个数所有因子的集合的子集中满足所有数均互质的最大子集

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

时间:2023-05-25 20:33:12浏览次数:41  
标签:12 所有 个数 因子 子集 数均 质因数 互质

题意:

很明显了,就是把数 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.

标签:12,所有,个数,因子,子集,数均,质因数,互质
From: https://www.cnblogs.com/tzt233/p/17432784.html

相关文章

  • YACS 2023年5月月赛 甲组 T1 子集和(六) 题解
    YACS老师说这是道分治,但就不告诉我怎么做,我硬是用线段树卡了过去...特别解气的是把AC图片发了过去(我就是在YACS上的编程课)莫队好了说点正经的,看到是谁谁谁的倍数就能想到DP,状态设计也很水啦!设f[i]为当前考虑到的区间内,子集和%k=i的数量。新加入一个元素时,循环0~......
  • 416. 分割等和子集
    给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。标准解法classSolution{public:boolcanPartition(vector<int>&nums)......
  • LeetCode 416 分割等和子集
    LeetCode|416.分割等和子集给你一个只包含正整数的非空数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解......
  • RSA(共模、低指数、素数分解、模不互质)
    buuctf:rsa3题目c1=22322035275663237041646893770451933509324701913484303338076210603542612758956262869640822486470121149424485571361007421293675516338822195280313794991136048140918842471219840263536338886250492682739436410013436651161720725855484866690084......
  • 7-012-(LeetCode- 416) 分割等和子集
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......
  • #yyds干货盘点# LeetCode面试题:子集 II
    1.简述:给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。返回的解集中,子集可以按任意顺序排列。 示例1:输入:nums=[1,2,2]输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]示例2:输入:nums=[0]输出:[[],[0]]2.代码实现:classSolu......
  • 回溯 78.子集 200. 岛屿数量
    回溯算法为什么for循环嵌套很难解决解决问题当问题需要"回头",以此来查找出所有的解的时候排列组合切割(切割字符串)子集把子集列出来棋盘 N皇后/解数独是什么只要有递归,就有回溯也是一种纯暴力搜索算法可以抽象成一个树形结构递归函数没有返回值(ba......
  • 求子集--Python解法
    给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。defsubsets(nums):res=[]self.dfs(nums,0,res,[])returnresdefdfs(nums,index,res,path):res.append(path)foriinrange(index,l......
  • 90. 子集 II
    给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。返回的解集中,子集可以按任意顺序排列。>我的解法classSolution{private:voidtraversal(vector<int>&nums,vector<bool>&used,intstartdex){i......
  • 78. 子集
    给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。>我的解法classSolution{private:voidfind_son_depth(vector<int>&nums,intindex,intd,intdepth){if(d>depth......