龙空技术网

「有趣的数学问题01」质数

零A课堂 366

前言:

现在看官们对“python求100以内的素数”可能比较重视,你们都需要剖析一些“python求100以内的素数”的相关文章。那么小编在网上收集了一些对于“python求100以内的素数””的相关知识,希望兄弟们能喜欢,我们快快来学习一下吧!

一、定义

质数又称素数。一个大于 1 的自然数,除了 1 和它自身外,不能整除其他自然数的数叫做质数;否则称为合数

二、性质

质数具有许多独特的性质:

质数p的约数只有两个:1 和 p。初等数学基本定理:任一大于 1 的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。质数的个数是无限的。若 n 为正整数,在 n^2 到 (n+1)^2 之间至少有一个质数。若 n 为大于或等于 2 的正整数,在 n 到 n! 之间至少有一个质数。所有大于大于 10 的质数中,个位数只有1、3、7、9。

三、应用

质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。

四、找出100以内的质数

Python代码如下

# !/usr/bin/python# -*- coding:utf-8 -*-# 求100以内的素数prime_num_list = [] # 新建一个列表用于收集素数for i in range(2, 100):  for j in range(2, i):  k = i % j  if k == 0:  break else:  prime_num_list.append(i)print(prime_num_list)

计算结果:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

标签: #python求100以内的素数