1. 程式人生 > 其它 >python-判斷某個數是否為合數 & 獲取某個數的所有約數

python-判斷某個數是否為合數 & 獲取某個數的所有約數

合數,即有約數的數。

判斷某個數是否為合數,需要幾個步驟

1.是否>3

2.是否為奇數,因為偶數肯定是合數

3.是否可被比自己小的數整除

實現邏輯:

1.如果<=3則不是合數,返回false

2.如果不是奇數,返回true

3.如果能整除,返回true,都不能整除則返回false

程式碼如下:

 1 def isFactor(num):
 2     '''是否為合數'''
 3     if num>3:
 4         if num%2==1:
 5             for i in range(2, (num-1)//2): 
 6                 if
num%i == 0: 7 return True #有約數是合數 8 return False #沒有約數不是合數 9 return True #偶數都是合數 10 return False #小於4不是合數 11 12 if __name__ == '__main__': 13 Flist = [] #存放合數列表 14 for i in range(50): #統計50以內的所有合數 15 if isFactor(i): 16 Flist.append(i)
17 print(len(Flist)) #打印合數數量 18 print(Flist)

獲取某個數的所有約數,依舊是用整除的方式。

1.是否>3

2.用比自己小的數依次進行整除,如果能整除,說明是約數

程式碼如下:

def getFactor(num):
    '''獲取所有約數'''
    if num>3:
        Flist = [1] 
        for i in range(2,num+1):
            if num%i==0:
                Flist.append(i)
        return
Flist if __name__ == '__main__': print(getFactor(39)) #獲取39的所有約數