没有给定数组的子集,它们的乘积是 p1*p2*p3 的形式

问题描述

给定一个大小为 n 的数组 A。您必须找到子集的数量,使它们的乘积为 p1×p2×p3... 的形式,其中 p1,p2,p3,... 是素数。质数不应出现多次。

示例:让我们选择一个大小为 5 的数组 A。 A[5]={2,3,15,55,21} 我们答案中的子集应该是 {2},{3},{15},{ 55},{21},{2,3},15},55},21},{3,{55,21}。让我们取 {2,55} 乘积将是 2×3×55=2×3×5×11。因此所有具有 1 次幂的素数。我们不能以 {3,15} 为例,因为 3×15=3^2×5。条件不满足。因此我们的答案应该是子集的数量,即这里是 13。

约束条件:2≤A[i]

注意:简单的递归会导致超出时间限制

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)