我有以下代码,它接受2个输入:上限和下限。然后计算上下之间的素数。
例如: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%。我不能100%确定这是否真的是密度或频率。 (我被要求找到密度,不频率。)
我正在思考这些问题(upper - lower) / total
。这显然不是计算密度的正确表达式,但我似乎无法理解如何做到这一点。
答案 0 :(得分:2)
您需要超过给定范围的素数比例。你几乎是正确的。
total / float(upper - lower + 1)
答案 1 :(得分:0)
从0到100有101个整数,所以密度应该是25/101,但不是25%,它等于total/float(upper-lower+1)
和float是因为int/int
将返回一个整数而不是一个浮点数