python演算法學習----醜數的計算
阿新 • • 發佈:2021-02-02
醜數
醜數定義
說法一(ugly number):把只包含質因子2,3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但7、14不是,因為它們包含質因子7。 習慣上我們把1當做是第一個醜數。
說法二(humble number):對於一給定的素數集合 S = {p1, p2, …, pK},考慮一個正整數集合,該集合中任一元素的質因數全部屬於S。這個正整數集合包括,p1、p1p2、p1p1、p1p2p3…(還有其它)。該集合被稱為S集合的“醜數集合”。
醜數實現程式碼
for num in range (100):
flag = num
if num == 0:
continue
# num這個數不停的除於2、3、5。
# 醜數的定義:
# 就是隻能被2、3、5整除的數字
# 1本身是醜數
while True:
if num % 2 == 0:
num //= 2
elif num % 3 == 0:
num //= 3
elif num % 5 == 0:
num //= 5
else:
break
if num == 1:
print(f'{flag}\t', end='')