题目描述 编程求2~n(n为大于2的正整数,且小于等于50000)中有多少个素数。 提示 输入输出格式 输入格式 输入n(2≤n≤50000)。 输出格式 素数个数。
时间: 2024-01-14 12:16:19 浏览: 240
2010南开三级100题.doc
好的,这是一个数学问题,需要用到判断素数的方法。以下是一个简单的 Python 代码实现:
```python
n = int(input())
# 判断素数的函数
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True
# 统计素数个数
count = 0
for i in range(2, n+1):
if is_prime(i):
count += 1
print(count)
```
首先读入一个正整数 n,然后定义一个函数 is_prime(),用来判断一个数是否为素数。is_prime() 函数的实现方法是,从 2 到 sqrt(num) 之间的整数依次除以 num,如果有整除的情况,则 num 不是素数,返回 False;否则 num 是素数,返回 True。
然后用一个循环从 2 到 n 之间的整数依次调用 is_prime() 函数,如果返回值为 True,说明该数是素数,素数个数 count 加 1。
最后输出素数个数 count 即可。
阅读全文