写出Python程序:随机产生一百万零一个1-20之间的整数,统计其中各个质数的出现次数,按出现次数降序输出每个数字,出现次数。
时间: 2024-03-21 08:38:32 浏览: 18
可以使用Python中的random库来生成随机数,然后使用for循环遍历每个数字,判断其是否为质数,并统计出现次数。最后可以使用sorted函数按出现次数降序排序输出。
以下是实现代码:
```python
import random
# 生成一百万个随机数
nums = [random.randint(1, 20) for _ in range(1000000)]
# 统计质数出现次数
prime_count = {}
for num in nums:
if num < 2:
continue
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
break
else:
if num not in prime_count:
prime_count[num] = 0
prime_count[num] += 1
# 按出现次数降序排序并输出
for num, count in sorted(prime_count.items(), key=lambda x: x[1], reverse=True):
print(num, count)
```
注:由于质数判断的算法时间复杂度较高,如果生成的数字范围更大,需要使用更高效的算法。
相关问题
利用python编写程序,生成包含1000个0-100之间的随机整数,并统计每个元素的出现次数
好的,我可以帮你解决这个问题。以下是用Python编写的程序,生成包含1000个0-100之间的随机整数,并统计每个元素的出现次数的代码:
```python
import random
# 生成1000个0-100之间的随机整数
rand_list = [random.randint(0, 100) for _ in range(1000)]
# 统计每个元素的出现次数
count_dict = {}
for num in rand_list:
if num not in count_dict:
count_dict[num] = 1
else:
count_dict[num] += 1
# 输出结果
for num, count in count_dict.items():
print(f"数字 {num} 出现了 {count} 次")
```
这段代码会生成一个包含1000个0-100之间的随机整数的列表,然后使用一个字典来统计每个数字出现的次数。最后,循环遍历字典,输出每个数字和它的出现次数。希望对你有帮助!
编写程序,生成1000个0-100之间的随机整数,并统计每个元素的出现次数的Python语句
以下是生成1000个0-100之间的随机整数,并统计每个元素的出现次数的Python语句:
```python
import random
# 生成1000个0-100之间的随机整数
lst = [random.randint(0, 100) for _ in range(1000)]
# 统计每个元素的出现次数
dict_count = {}
for num in lst:
if num in dict_count:
dict_count[num] += 1
else:
dict_count[num] = 1
# 输出每个元素的出现次数
for key, value in dict_count.items():
print("元素{}出现次数:{}".format(key, value))
```
解释:首先使用列表推导式生成1000个0-100之间的随机整数。然后使用字典存储每个元素的出现次数,遍历列表中的每个元素,如果该元素已经在字典中,则将其出现次数加1,否则将其加入字典并将出现次数设为1。最后遍历字典,输出每个元素的出现次数。