python判斷所輸入的任意一個正整數(shù)是否為素數(shù)的兩種方法
素數(shù)(也稱質(zhì)數(shù)),是指除了1和該數(shù)本身,不能被任何正整數(shù)整除的正整數(shù)。判斷一個正整數(shù)m是否為素數(shù),只要判斷m可否被2~根號m之中的任何一個正整數(shù)整除,如果m不能被此范圍中任何一個正整數(shù)整除,m即為素數(shù),否則m為合數(shù)。
方法一:(利用for循環(huán)和break語句)
import math
m = int(input("請輸入一個整數(shù)(>1):"))
k = int(math.sqrt(m))
for i in range(2, k+2):
if m % i == 0:
break #可以整除,肯定不是素數(shù),結(jié)束循環(huán)
if i == k+1: print(m, "是素數(shù)!")
else: print(m, "是合數(shù)!")
方法二:(利用while循環(huán)和bool變量)
import math
m = int(input("請輸入一個整數(shù)(>1):"))
k = int(math.sqrt(m))
flag = True #假設(shè)輸入的整數(shù)為素數(shù)
i = 2
while (i <= k and flag == True):
if (m % i == 0): flag = False #可以整除,肯定不是素數(shù),結(jié)束循環(huán)
else: i += 1
if (flag == True): print(m, "是素數(shù)!")
else: print(m, "是合數(shù)!")
例:打印100~200間的全部素數(shù),每行輸出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判斷所輸入的任意一個正整數(shù)是否為素數(shù)的兩種方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于WARNING:Ignoring?invalid?distribution?-pencv-python....
這篇文章主要給大家介紹了關(guān)于WARNING:Ignoring?invalid?distribution?-pencv-python....警告信息的處理方法,文中通過圖文將解決的辦法介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-03-03
Python數(shù)據(jù)挖掘中常用的五種AutoEDA 工具總結(jié)
大家好,我們都知道在數(shù)據(jù)挖掘的過程中,數(shù)據(jù)探索性分析一直是非常耗時的一個環(huán)節(jié),但也是繞不開的一個環(huán)節(jié),本篇文章帶你盤點(diǎn)數(shù)據(jù)挖掘中常見的5種 AutoEDA 工具2021-11-11
OpenCV哈里斯(Harris)角點(diǎn)檢測的實(shí)現(xiàn)
這篇文章主要介紹了OpenCV哈里斯 (Harris)角點(diǎn)檢測,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
使用Python構(gòu)建Hopfield網(wǎng)絡(luò)的教程
這篇文章主要介紹了使用Python構(gòu)建Hopfield網(wǎng)絡(luò)的教程,本文來自于IBM官方網(wǎng)站的技術(shù)文檔,需要的朋友可以參考下2015-04-04

