微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决没有给定数组的子集,它们的乘积是 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 举报,一经查实,本站将立刻删除。