python判断所输入的任意一个正整数是否为素数的两种方法

yipeiwu_com6年前Python基础

素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为素数,只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即为素数,否则m为合数。

方法一:(利用for循环和break语句)

import math
m = int(input("请输入一个整数(>1):"))
k = int(math.sqrt(m))
for i in range(2, k+2):
  if m % i == 0:
    break #可以整除,肯定不是素数,结束循环
if i == k+1: print(m, "是素数!")
else: print(m, "是合数!")

方法二:(利用while循环和bool变量)

import math
m = int(input("请输入一个整数(>1):"))
k = int(math.sqrt(m))
flag = True #假设输入的整数为素数
i = 2
while (i <= k and flag == True):
  if (m % i == 0): flag = False #可以整除,肯定不是素数,结束循环
  else: i += 1
if (flag == True): print(m, "是素数!")
else: print(m, "是合数!")

例:打印100~200间的全部素数,每行输出10个

import math;n=0
for m in range(101,201,2):
  k = int(math.sqrt(m))
  for i in range(2,k+2):
    if m % i == 0:break
  if i == k+1:
    if n % 10 == 0:print()
    print('%d' % m,end=' ')
    n += 1

以上这篇python判断所输入的任意一个正整数是否为素数的两种方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pandas数据预处理之dataframe的groupby操作方法

pandas数据预处理之dataframe的groupby操作方法

在数据预处理过程中可能会遇到这样的问题,如下图:数据中某一个key有多组数据,如何分别对每个key进行相同的运算? dataframe里面给出了一个group by的一个操作,对于”g...

Pytorch之contiguous的用法

contiguous tensor变量调用contiguous()函数会使tensor变量在内存中的存储变得连续。 contiguous():view只能用在contiguous的var...

django+js+ajax实现刷新页面的方法

本文实例讲述了django+js+ajax实现刷新页面的方法。分享给大家供大家参考,具体如下: 在服务器开发的时候,为了方便将服务器对外开一个接口来操作,可以使用django制作网页,通...

python儿童学游戏编程知识点总结

python爬虫基本告一段落,琢磨搞点其他的,正好在网上看到一个帖子,一个外国13岁小朋友用python写的下棋程序,内容详细,也有意思,拿来练手。 13岁啊。。 我这年纪还在敲 dir...

Win10下Python环境搭建与配置教程

Win10下Python环境搭建与配置教程

本教程为大家分享了win10下Python环境安装配置教程,供大家参考,具体内容如下 1.在https://www.python.org/downloads/release/python...