编写一个程序,找出并打印从1到20(包括)之间的所有正整数,但排除能被2、3、5和7整除的数。每五个数一组分隔显示,并计算这些数字的总和。展示所有的步骤和最终结果。
时间: 2024-11-22 11:36:02 浏览: 5
编写这样一个程序,首先需要遍历1到20的所有正整数,然后检查每个数是否能被指定的数字(2、3、5和7)整除。如果不符合条件,就将它添加到结果列表中。每五个数一组可以用Python的`range()`函数结合`enumerate()`来实现,同时计数和累计总和。以下是详细的步骤:
```python
# 初始化变量
numbers = [] # 存放符合条件的数
total_sum = 0 # 记录总和
# 遍历1到20的数,步长为1
for i in range(1, 21):
if i % 2 != 0 and i % 3 != 0 and i % 5 != 0 and i % 7 != 0:
numbers.append(i)
total_sum += i # 累加当前数
# 如果计数器mod 5等于0,表示到了新的一组,打印前五位并清零计数器
if (len(numbers) - 1) % 5 == 0:
print(f"第{len(numbers)}组: {', '.join(map(str, numbers[:5]))}, 总和: {total_sum}")
numbers = numbers[5:] # 移除已处理的前五个数
# 打印剩余未满一组的数
if len(numbers):
print(f"最后一组: {', '.join(map(str, numbers))}, 总和: {total_sum}")
```
运行这个程序后,你会看到每五个数一组被打印出来,以及它们的总和。注意,这最后一个组可能少于五个数。
阅读全文