无平方子集计数
由第 0 个元素 [3] 组成的子集。其元素的乘积是 3 ,这是一个无平方因子数。
由第 3 个元素 [5] 组成的子集。其元素的乘积是 5 ,这是一个无平方因子数。
由第 0 个和第 3 个元素 [3,5] 组成的子集。其元素的乘积是 15 ,这是一个无平方因子数。
- 由第 0 个元素 [1] 组成的子集。其元素的乘积是 1 ,这是一个无平方因子数。
1 <= nums.length <= 1000
1 <= nums[i] <= 30
给你一个正整数数组 nums
。
如果数组 nums
的子集中的元素乘积是一个 无平方因子数 ,则认为该子集是一个 无平方 子集。
无平方因子数 是无法被除 1
之外任何平方数整除的数字。
返回数组 nums
中 无平方 且 非空 的子集数目。因为答案可能很大,返回对 10^9 + 7
取余的结果。
nums
的 非空子集 是可以由删除 nums
中一些元素(可以不删除,但不能全部删除)得到的一个数组。如果构成两个子集时选择删除的下标不同,则认为这两个子集不同。
示例 1:
```txt
输入:nums = [3,4,4,5]
输出:3
解释:示例中有 3 个无平方子集:
可以证明给定数组中不存在超过 3 个无平方子集。
```
示例 2:
```txt
输入:nums = [1]
输出:1
解释:示例中有 1 个无平方子集:
可以证明给定数组中不存在超过 1 个无平方子集。
```
提示: