题目浅析

  • 想查看原题可以点击题目链接

  • 简单地说,就是一堆数字,从中找到恰好四个因数的,把求恰四因数的因数和。

思路分享

代码解答(强烈建议自行解答后再看)

  • 参考题解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
MX = 100_001
divisor_num = [0]*MX
divisor_sum = [0]*MX
for i in range(1, MX):
for j in range(i, MX, i):
divisor_num[j] += 1
divisor_sum[j] += i

class Solution:
def sumFourDivisors(self, nums: List[int]) -> int:
ans = 0
for num in nums:
if divisor_num[num] == 4:
ans += divisor_sum[num]
return ans