[有人可以帮我,告诉我为什么这不起作用吗?目的是计算给定多项式在指定范围[a,b]中为输入n生成的素数的数量:
def count_primes(poly, a, b): primes = 0 if b >= a: for n in range(a, b): result = poly(n) if result > 1: for i in range(2, result): if (result % i) == 0: break else: primes += 1 else: break return primes def poly(n): return n**2 + n + 41 print(count_primes(poly, 0, 39))
在这种情况下,结果应返回40。
[2]问题解决方案1.输入要检查的数字并将其存储在变量中。2.将计数变量初始化为0。3.让for循环的范围是数字的2到一半(不包括1和数字本身)。4.然后使用if语句找到除数的数量,并每次增加count变量。5.如果除数的数目小于或等于0,则该数目为质数。6.打印最终结果。5.退出。
[有人可以帮我,告诉我为什么这不起作用吗?目的是计算在给定范围[a,b]中输入n的给定多项式产生的质数的数量:def ...
这是计算素数的错误方法: