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设计】。

相关文章

Python正则表达式完全指南

Python正则表达式完全指南

正则表达式处理文本有如疾风扫秋叶,绝大部分编程语言都内置支持正则表达式,它应用在诸如表单验证、文本提取、替换等场景。爬虫系统更是离不开正则表达式,用好正则表达式往往能收到事半功倍的效果。...

Python实现字符串格式化的方法小结

Python2.6+ 增加了str.format函数,用来代替原有的'%'操作符。它使用比'%'更加直观、灵活。下面详细介绍一下它的使用方法。 下面是使用'%'的例子: "" "P...

python Flask 装饰器顺序问题解决

上周 RealWorld CTF 2018 web 题 bookhub 有个未授权访问的漏洞,比较有意思,赛后看了一下公开的 WriteUp,大家也都没写清楚,所以就有了这篇博文。 前言...

对Python之gzip文件读写的方法详解

gzip文件读写的时候需要用到Python的gzip模块。 具体使用如下: # -*- coding: utf-8 -*- import gzip # 写文件 f_out = gz...

Windows下PyCharm安装图文教程

Windows下PyCharm安装图文教程

本文记录了PyCharm安装的图文教程,供大家参考,具体内容如下 PyCharm的官网  1.在官网下载安装包 2.选择Windows系统下的社区版本。 3.下载好的安装包...