python的迴圈,質數和因子的定義

2022-07-25 08:54:09 字數 778 閱讀 1624

質數:能被1和本書整除的數()任何乙個質數都有兩個因子是1和質數本身,比如1,2,3,5,7,11是質數,而4,6,8,9就不是質數,它們還能被2或者3整除

因子:1,2,4的因子分別是(1)(1,2)(1,2,4)

z是乙個質數     z=x*y       當z等於7時(2,,,,,,10)1和7就不用去逐個去試了,用python地板除(取整數)   7/2=3(x,y為2或者3)  7/3=2    7/4=1    7/5=1   7/6=1

由此可見,我們只有試到7/2=3,試到3就可以基本確認,z是否為質數了   x <= z/2 <= y

當z等於a時(2......z-1在這區間去試是否含有因子的區間),  由此可見,我們只有試到a/2的時候,一半遞減

y=11

x=y//2                                  #地板除    y除於2取整數賦給變數x

while x >1:                            #當x>1

if y % x == 0:                    #如果y除於x等於0

print(y,'has factor',x)     #輸出(y有因素為,x)

x -= 1                                #x=x-1

else:                                      #否則               

print(y,'is prime')               #輸出(y是質子)

python 質數因子求解

思路 從2開始到sqrt n 開始遍歷,當n i等於0時,當前i就是乙個質因子,之所以只遍歷到sqrt n 原因就是如果到sqrt n 後還是沒找到質因子,當再往上找時不會再有質因子,因為如果再往上找還有質因子,n除以這個質因子一定小於sqrt n 那在2到sqrt n 之間應該有它的質因子,與前面...

python 求輸入資料的質數因子

題目描述 功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質因子 如180的質因子為2 2 3 3 5 最後乙個數後面也要有空格 python版 n int input i 2while i n while n i 0 n i print str i end i 1n從2開始除,遇到的第乙個整除...

Python華為機試 四 質數因子

題目描述 功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質因子 如180的質因子為2 2 3 3 5 最後乙個數後面也要有空格 輸入描述 輸入乙個long型整數 輸出描述 按照從小到大的順序輸出它的所有質數的因子,以空格隔開。最後乙個數後面也要有空格。示例1輸入 180輸出 2 2 3 3 5...