我有以下代码,它需要两个输入:上限和下限。然后计算上下之间的素数。
例如:Upper = 100, lower = 0,所以素数是25。
lower = int(input("Enter lower range: "))
upper = int(input("Enter upper range: "))
total = 0
print("Prime numbers between",lower,"and",upper,"are:")
for num in range(lower,upper + 1):
# prime numbers are greater than 1
if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num)
total = total + 1
print("total primes found", total)我要计算素数的密度,所以0到100之间的密度是25%。我不能百分之百确定这是密度还是频率。(我被要求找到密度,而不是频率。)
我在想一些关于(upper - lower) / total的事情。这显然不是计算密度的正确表达式,但我似乎无法理解我是如何做到的。
发布于 2018-04-17 18:49:03
你需要素数在给定范围内的比例。你几乎是对的。
total / float(upper - lower + 1)发布于 2018-04-17 19:02:31
从0到100有101个整数,所以密度应该是25/ 101,而不是25%,它等于total/float(upper-lower+1),浮点数是因为int/int将返回一个整数,而不是一个浮点数。
https://stackoverflow.com/questions/49885332
复制相似问题