检查素数和打印因子

时间:2018-11-03 21:31:13

标签: python primes

问题要求检查数字是否为质数。如果不是,则必须创建一个单独的函数来打印质数因子的列表。确切的问题是:

编写两个函数(isPrime和primeFactors)。功能 如果其参数为质数,则isPrime将返回True,否则返回False。 primeFactors函数将返回数字的素数列表。

到目前为止,我有:

Sub

第一个功能检查数字是否为质数。但是,我不确定如何使primeFactors函数仅在结果不是素数的情况下起作用。

2 个答案:

答案 0 :(得分:1)

由于您已经具有确定数字是否为质数的功能,因此查找数字的质因数的功能如下:

def findPrimeFactors(number):
    primeFactors = []

    for i in range(2, number + 1):
        if number % i == 0 and isPrime(i):
            primeFactors.append(i)

    return primeFactors

答案 1 :(得分:0)

如果您想查找包括重复在内的所有主要因素,即 @Omari Celestine's answer只会为 String tc_string = "wss0703.tinychat.com:25976"; int PORT = 21037; SocketAddress addy = new InetSocketAddress(tc_string, PORT); //no need for the 'new' keyword since it is a static method Socket S1 = new Socket(); S1.connect(addy); 返回[2],而不是{ {1}}等。

您可以执行以下操作,注意我如何仅检查每个函数中findPrimeFactors(8)的平方根:

[2, 2, 2]