Description
Given an integer array nums
, return the sum of divisors of the integers in that array that have exactly four divisors. If there is no such integer in the array, return 0
.
Example 1:
Input: nums = [21,4,7] Output: 32 Explanation: 21 has 4 divisors: 1, 3, 7, 21 4 has 3 divisors: 1, 2, 4 7 has 2 divisors: 1, 7 The answer is the sum of divisors of 21 only.
Example 2:
Input: nums = [21,21] Output: 64
Example 3:
Input: nums = [1,2,3,4,5] Output: 0
Constraints:
1 <= nums.length <= 104
1 <= nums[i] <= 105
Solution
Python3
class Solution:
def sumFourDivisors(self, nums: List[int]) -> int:
res = 0
for num in nums:
s = set()
for i in range(1, floor(sqrt(num)) + 1):
if num % i == 0:
s.add(num//i)
s.add(i)
if len(s) > 4:
break
if len(s) == 4:
res += sum(s)
return res