我们把只包含因子$2$、$3$和$5$的数成为丑数。例如$6$、$8$都是丑数但$14$不是因为它包含因子$7$。习惯上我们把$1$当作是第一个丑数。先定义一个判断丑数的函数利用它输出$1sim 100$之间所有的丑数并统计出个数。
定义判断丑数的函数:
def is_ugly(num):
while num % 2 == 0:
num //= 2
while num % 3 == 0:
num //= 3
while num % 5 == 0:
num //= 5
return num == 1
输出$1\sim 100$之间所有的丑数:
count = 0
for i in range(1, 101):
if is_ugly(i):
print(i, end=' ')
count += 1
print('\n一共有', count, '个丑数。')
输出结果为:
1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 36 40 45 48 50 54 60 64 72 75 80 81 90 96 100
一共有 33 个丑数。
原文地址: https://www.cveoy.top/t/topic/ggPu 著作权归作者所有。请勿转载和采集!