- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做 pyschools 练习,我在主题 5 问题 12 - 质因数分解上遇到问题,我必须这样做:
给定一个正整数,编写一个函数来计算可以相乘得到相同整数的质因数。
Examples
>>> primeFactorization(60)
[2, 2, 3, 5]
>>> primeFactorization(1050)
[2, 3, 5, 5, 7]
>>> primeFactorization(1)
[]
这是我的代码:
import operator
import functools as fun
def primeFactorization(num):
num = num
primes = []
result = []
if num > 1:
[primes.append(x) for x in range(2, num) if all(x % y != 0 for y in range(2, x))]
multy = fun.reduce(operator.mul, result, 1)
for number in primes:
if num % number == 0 and multy != num:
result.append(number)
return result
这会返回给我:
Test Cases Expected Result Returned Result
primeFactorization(33) [3, 11] [3, 11]
primeFactorization(84) [2, 2, 3, 7] [2, 3, 7]
primeFactorization(1) [] []
我已经尝试过这个,但私有(private)测试用例失败了:
import operator
import functools as fun
def primeFactorization(num):
num = num
primes = []
result = []
if num > 1:
[primes.append(x) for x in range(2, num) if all(x % y != 0 for y in range(2, x))]
multy = fun.reduce(operator.mul, result, 1)
for number in primes:
if num % number == 0:
result.append(number)
multy = fun.reduce(operator.mul, result, 1)
y = num/multy
if y != 1 and y in primes:
result.insert(0, int(y))
return result
Test Cases Expected Result Returned Result
primeFactorization(33) [3, 11] [3, 11]
primeFactorization(84) [2, 2, 3, 7] [2, 2, 3, 7]
Private Test Cases Passed Failed
primeFactorization(1) [] []
我该怎么做才能通过?
最佳答案
为什么要把事情搞得这么复杂?查找给定数字 X
的所有质因数的问题与查找可整除 X
的最小数字(大于 1)的集合相同进入。为了解决这个问题,我们可以从找到能整除 X
的最小数 n
开始。这是X
的第一个素因数。然后我们可以通过查找 X/n
def primeFactorization(X):
possible = [2] + range(3,int(ceil(sqrt(X)))+1,2)
for p in possible:
if X % p == 0:
return [p] + primeFactorization(X/p)
return [X]
primeFactorization(3*3*7*5*11*13*31)
> [3,3,5,7,11,13,31]
关于python - Pyschools 质因数分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42853519/
我正在做 pyschools 练习,我在主题 5 问题 12 - 质因数分解上遇到问题,我必须这样做: 给定一个正整数,编写一个函数来计算可以相乘得到相同整数的质因数。 Examples >>>
我目前正在学习 python 并尝试在 pyschools 做练习(如果有人知道它是什么)。无论如何,我有一个练习要求我执行以下操作:编写一个函数 percent(value, total),它将两个
我是 Python 和 stackoverflow 的新手。我一直在尝试解决 Pyschools 的平方根近似的“while 循环”示例(主题 5:问题 9)。但是我无法获得所需的输出。我不确定这个问
我是 Python 新手,我直接进入了 python 3。不过,我正在尝试使用 pyschools.com 的学习实践。我遇到了一个有关使用字符串的问题。他们想要这样的结果:“不,谢谢,妈妈,”我说,
这是测验问题: Adding two strings or making multiple copies of the same string. Examples: greetings = "Hell
编写一个函数estimatePi(),根据印度数学家Srinivasa Ramanujan 发现的公式估算并返回Pi 的值。它应该使用 while 循环来计算求和项,直到最后一项小于 1e-15。 P
我真的很困惑。 我正在解决大学的PySchool实践,并在主题13:问题2上遇到了问题。 我需要: 创建一个将名称和电子邮件附加到命名文件末尾的函数。 我使用的代码: # Create a f
我在 PySchools.com 上进行了一些 Python 实践,然后被困在这里。我确信这是一个简单的任务。有人吗? 您可以使用 len(x) 函数来找出字符串中的字符数。 示例 >>> greet
我是 python 的初学者,我正在尝试解决有关列表的一些问题。我被困在一个问题上,无法解决: Write a function countLetters(word) that takes in a
我使用以下脚本尝试回答 this问题: def isEquilateral(x, y, z): if x>> isEquilateral(2, 4, 3) False >>> isEquila
任务是: Create a function generateNumbers(num) that takes in a positive number as argument and returns
我正在尝试 PySchools 上的练习,但我陷入了主题:2 Q6。问题如下 Write a function to compute the BMI of a person. BMI = weight
我为这个练习想出了两个不同的函数。一种使用 csv 类 writer,一种使用 DictWriter 类。两者都通过了列出的预期结果,但是它们未通过私有(private)测试用例? import cs
我是 python 新手!完成了我的学习,阅读了几本书,现在正在尝试 pyschools 挑战。成功完成了变量和数据类型,但主题 2(函数)的问题 7 让我很痛苦。 我正在使用 Eclipse 和 P
请在下面的链接中找到问题的描述: EOF while parsing at the end of my code ;estimatePi() problem from pyschools 编写一个函数
我是一名优秀的程序员,十分优秀!