- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
给定一个数字n
,编写一个程序来查找从n
开始的九个连续数字中每个数字的最大质因数之和。
我能够获得因子,但对于每个值,如果有多个素数因子,我只想要这些素数因子中我无法获得的最大值。
def find_g(num):
factor=[]
list1=[]
list2=[]
for i in range(0,num-1):
factor.append(num+i)
print(factor)
for f in factor:
for i in range(2,f+1):
if(f%i==0 and i%2!=0):
list1.append(i)
print(list1)
list2.append(max(list1))
list1=[]
print(list2)
print(find_g(10))
输入:10
所需输出:[5, 11, 3, 13, 7, 5, 17, 9]
实际输出:[5, 11, 3, 13, 7, 3, 5, 15, 17, 3, 9]
最佳答案
您可以将其分为两部分:(A) 找到任何给定数字的最大质因数 n
,以及 (B) 对从 n
开始的九个连续数字中的每一个的最大质因数求和。我将描述每个的代码,然后将它们组合起来。
(A) 我们可以找到一个数 n
的最大质因数, lpf(n)
,使用以下代码:
def lpf(n):
i = 2
while i * i <= n:
if n % i:
i += 1
else:
n //= i
return n
(B) 然后,我们可以对 n
中的每个数字运行此代码至n+9
通过映射lpf
功能跨越range(n, n+9)
并对结果求和:
def find_g(n):
return sum(map(lpf, range(n, n+9)))
对于您的案例n=10
,我们得到
find_g(10) = 66
这是正确的,因为 [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 的最大素因数分别是 [5, 11, 3, 13, 7, 5, 2、17、3]。
(请注意,您的预期答案不正确,您能找出原因吗?)
关于python - 如何找到每次迭代中获得的最大值并将其附加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56795992/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!