python-判斷某個數是否為合數 & 獲取某個數的所有約數
阿新 • • 發佈:2021-06-23
合數,即有約數的數。
判斷某個數是否為合數,需要幾個步驟
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 ifnum%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) returnFlist if __name__ == '__main__': print(getFactor(39)) #獲取39的所有約數