问题要求检查数字是否为质数。如果不是,则必须创建一个单独的函数来打印质数因子的列表。确切的问题是:
编写两个函数(isPrime和primeFactors)。功能 如果其参数为质数,则isPrime将返回True,否则返回False。 primeFactors函数将返回数字的素数列表。
到目前为止,我有:
Sub
第一个功能检查数字是否为质数。但是,我不确定如何使primeFactors函数仅在结果不是素数的情况下起作用。
答案 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]