【发布时间】:2018-08-05 12:47:38
【问题描述】:
问题是这样的—— 你给了一个包含 N 个整数的数组 A。假设 G 是 A 的所有元素的乘积。您必须找到 G 的不同素因数的数量。 例子 - 输入 : A = 1、2、3、4 输出 : 2
说明: 这里 g = 1*2*3*4 g 的不同主要因数是 2 和 3 不同素数除数的总数 = 2
以下是我编写的代码,但我得到的输出是错误的 -
class prime:
# @param A : list of integers
# @return an integer
def prime(self,num):
if(num>1):
for i in range(2,num):
if(num%i==0):
break
else:
return num
def solve(self, A):
prod = 1
tot = 0
for i in range(0,len(A)):
prod = prod*A[i]
for i in range(0,len(A)):
if(self.prime(A[i])):
if(prod%self.prime(A[i])==0):
tot = tot+1
return tot
A = [1,2,3,4]
prime().solve(A))
【问题讨论】:
-
你的代码对我来说很好用。你只是有缩进问题。我很乐意将工作代码作为答案,但这没有意义,因为我没有做任何新的事情。
标签: python python-3.x math prime-factoring