酷代码 AI
菜单
服务商

我们把只包含素因子2、3和5的数成为丑数。例如6、8都是丑数,但14不是,因为它包含素因子7。 习惯上,我们把1当作是第一个丑数。 先定义一个判断丑数的函数,利用它输出1∼n之间所有的丑数,并统计出个数。 输入 读入一个整数 𝑛 , 1 <= 𝑛 <= 1000 输出 输出分为两部分: 第一部分,输出1∼ n之间所有的丑数,一行10个整数,每个整数占6个字符。 第二部分, 输出n 以内的丑数个数。 样例输入 复制 100 样例输出 复制 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 34

```python def is_ugly(num): """判断一个数是否为丑数""" if num <= 0: return False # 不断除以2、3、5,直到不能整除 for factor in [2, 3, 5]: while num % factor == 0: num //= factor return num == 1 def main(): n = int(input()) ugly_numbers = [] # 找出1~n之间的所有丑数 for i in range(1, n + 1): if is_ugly(i): ugly_numbers.append(i) # 输出丑数,每行10个 count = 0 for num in ugly_numbers: print(f"{num:6d}", end="") count += 1 if count % 10 == 0: print() # 如果最后一行不满10个,需要换行 if count % 10 != 0: print() # 输出丑数个数 print(len(ugly_numbers)) if __name__ == "__main__": main() ``` [2026-01-11 17:45:57 | AI问答 | 248点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多