![]() |
1
181
存在一些问题:
这是您的代码,有一些修复,它只打印素数:
如其他人所建议的那样,要想获得更高效的黄金一代,请参见埃拉托斯烯筛。这是一个很好的优化实现,有很多评论:
请注意,它返回一个生成器。 |
![]() |
2
16
我们将得到一个列表中最多20个素数。 我本可以用埃拉托斯坦筛,但你说 你想要非常简单的东西 |
![]() |
3
15
re功能强大:
|
![]() |
4
8
|
![]() |
5
8
要测试数字是否为素数,请执行以下操作:
|
![]() |
6
4
这里有一个 易于理解的
这种简单的“暴力”方法“足够快”,在现代PC上的数字可以达到16000左右(在我的2GHz设备上大约需要8秒)。 显然,通过不重新计算每一个偶数的素数,或每一个单个数的3、5、7等的倍数,可以更有效地实现这一点。。。见 Sieve of Eratosthenes Sieve of Atkin 如果你感到特别勇敢和/或疯狂。 买主警告:我是一个巨蟒noob。请不要把我说的任何话当作福音。 |
![]() |
7
4
SymPy 是一个用于符号数学的Python库。它提供了几个生成素数的函数。
这里有一些例子。
|
![]() |
8
2
这是Eratosthenes筛子的一个numpy版本,它具有OK复杂度(低于对长度为n的数组进行排序)和矢量化。
时间:
|
![]() |
9
2
python 3(生成素数)
|
![]() |
10
1
以下是我所拥有的:
对于大数来说,它非常快,因为它只检查已经存在的素数的除数。
在这里使用发电机可能是为了提高效率。 仅供参考,而不是说:
你可以简单地说:
|
![]() |
11
1
在我看来,最好采用功能性方法, 所以我首先创建一个函数来确定这个数是否为素数,然后根据需要在循环或其他地方使用它。
然后运行一个简单的列表理解或生成器表达式来获得素数列表,
|
![]() |
12
1
另一个简单的例子,只考虑奇数的简单优化。使用惰性流(python生成器)完成的所有操作。 用法:素数=列表(创建素数迭代器(1,30))
|
![]() |
13
1
|
![]() |
14
1
刚刚学习了主题,在线程中查找示例并尝试制作我的版本:
因此,我可以看到,对于不同的问题,我们有正确的答案;对于素数生成器
这是可行的,但我总是乐于接受更好的方法来实现这一目标
|
![]() |
15
0
您需要确保所有可能的除数都不会均匀地除以您正在检查的数字。在这种情况下,您将在任何时候打印您要检查的数字,只有一个可能的除数不能均匀地除以该数字。 另外,您不希望使用continue语句,因为continue语句只会导致它在您已经发现数字不是素数时检查下一个可能的除数。 |
![]() |
16
0
这似乎是家庭作业,所以我将给出一个提示,而不是详细的解释。如果我想错了,请纠正我。 当你看到一个偶数除数时,你就可以摆脱困境了。 一 不可分的数字。例如,2不能平均分成9。但这并不意味着9是质数。你可能想继续,直到你确定 不 (正如其他人所回答的,筛选是一种更有效的方法……只是试图帮助您理解为什么这个特定代码没有达到您想要的效果) |
![]() |
17
0
|
![]() |
18
0
如果你想直接计算素数,这个怎么样:
|
![]() |
19
0
与user107745类似,但使用“all”而不是双重否定(可读性稍高一点,但我认为性能相同):
基本上,它在(2100)范围内的x上进行迭代,并针对(2,x)范围内的所有t只选择那些没有mod==0的 另一种方法可能只是在我们进行时填充素数:
|
![]() |
20
0
|
![]() |
21
0
如果要查找某个范围内的所有素数,可以执行以下操作:
加上
|
![]() |
22
0
用法:
|
![]() |
23
-1
|
![]() |
24
-1
|
![]() |
25
-1
|
![]() |
26
-1
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |