在Python中计算密度

时间:2018-04-17 18:42:40

标签: python python-3.x math primes

我有以下代码,它接受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。这显然不是计算密度的正确表达式,但我似乎无法理解如何做到这一点。

2 个答案:

答案 0 :(得分:2)

您需要超过给定范围的素数比例。你几乎是正确的。

total / float(upper - lower + 1)

答案 1 :(得分:0)

从0到100有101个整数,所以密度应该是25/101,但不是25%,它等于total/float(upper-lower+1)和float是因为int/int将返回一个整数而不是一个浮点数